Changeset 6088
- Timestamp:
- 02/03/08 08:20:22 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/scala/sandbox/src/jp/gr/java_conf/mizu/util/Lazy.scala
r5952 r6088 1 1 package jp.gr.java_conf.mizu.util 2 2 object Lazy { 3 type LazyArray[T] = Array[Lazy[T]] 3 4 class Lazy[T](v : => T) { 4 lazy val value :T = v 5 private lazy val value :T = v 6 def ref :T = value 5 7 } 6 8 7 implicit def ext2Lazy[T](v : => T) :Lazy[T] = new Lazy[T](v)9 def lazyArray[T](elements :Seq[Lazy[T]]) :LazyArray[T] = elements.toArray 8 10 9 implicit def extfLazy[T](thunk : Lazy[T]) :T = thunk.value11 implicit def delay[T](v : => T) :Lazy[T] = new Lazy[T](v) 10 12 11 13 def main(args: Array[String]) { … … 13 15 def eval2(n : => Unit) :Unit = { n; n } 14 16 def eval0Lazy(n :Lazy[Unit]) :Unit = () 15 def eval2Lazy(n :Lazy[Unit]) :Unit = { n. value; n.value}17 def eval2Lazy(n :Lazy[Unit]) :Unit = { n.ref; n.ref } 16 18 println("--eval0--") 17 19 eval0(println("Hello"))
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)