Snapshots

trait Snapshots

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!
Companion:
object
Source:
Snapshots.scala
class Object
trait Matchable
class Any
object Snapshots.type

Value members

Concrete methods

inline def snap(expressions: Any*): SnapshotSeq

Snap the given expressions.

Snap the given expressions.

Value parameters:
expressions

expressions to be snapped

Returns:

an IndexedSeq of Snapshot for the given expressions.

Source:
Snapshots.scala