Trait that provides a snap method that takes one or more arguments and results in a
SnapshotSeq, whose toString lists the names
and values of each argument.
The intended use case of this trait is to help you write debug and log
messages that give a "snapshot" of program state. Here's an example:
scala> import Snapshots._
import Snapshots._
scala> snap(a, b, c, d, e, f)
res3: org.scalactic.SnapshotSeq = a was 1, b was 2, c was 3, d was 4, e was null, f was null
SnapshotSeq offers a lines method that places each variable name/value pair on its own line:
scala> snap(a, b, c, d, e, f).lines
res4: String =
a was 1
b was 2
c was 3
d was 4
e was null
f was null
Or, because a SnapshotSeq is a IndexedSeq[Snapshot], you can process it just like any other Seq, for example:
scala> snap(a, b, c, d, e, f).mkString("Wow! ", ", and ", ". That's so awesome!")
res6: String = Wow! a was 1, and b was 2, and c was 3, and d was 4, and e was null, and f was null. That's so awesome!
Trait that provides a
snap
method that takes one or more arguments and results in aSnapshotSeq
, whosetoString
lists the names and values of each argument.The intended use case of this trait is to help you write debug and log messages that give a "snapshot" of program state. Here's an example:
SnapshotSeq
offers alines
method that places each variable name/value pair on its own line:Or, because a
SnapshotSeq
is aIndexedSeq[Snapshot]
, you can process it just like any otherSeq
, for example: