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
snapmethod that takes one or more arguments and results in aSnapshotSeq, whosetoStringlists 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:
SnapshotSeqoffers alinesmethod that places each variable name/value pair on its own line:Or, because a
SnapshotSeqis aIndexedSeq[Snapshot], you can process it just like any otherSeq, 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!