LazyParameters

This trait can be used to allow some function to be called with varargs, with values being evaluated lazily:

 def method[T](values: LazyParameter[T]*) = {
   values.toStream // use the toStream method to consume the values lazily
 }
 // usage
 method(exp1, exp2, exp3)

Note that the values are really evaluated once, unlike a by-name parameter.

Companion:
object
class Object
trait Matchable
class Any
object LazyParameters.type

Implicits

Implicits

implicit def lazyParameter[T](value: => T): LazyParameter[T]

transform a value to a zero-arg function returning that value

transform a value to a zero-arg function returning that value