トップ
新規
単語検索
ヘルプ
ネタ記録庫/Scala/Lazy型
をテンプレートにして作成
開始行:
[[ネタ記録庫/Scala/Android/sbt-0.11.2]]
* ScalaにもOCamlやF#のようなLazy型が欲しい気がしたのでつ...
class Lazy[A](thunk : () => A) {
lazy val body = thunk()
}
object Lazy {
def lazy_[A](x : => A) = new Lazy(() => x)
def force[A](x : Lazy[A]) = x.body
}
** 使用例: [#o05d7781]
import Lazy._
def calc() = {
println("calc")
1+2+3
}
val x = lazy_(calc())
println("start")
println(force(x))
println(force(x))
println(force(x))
実行結果:
start
calc
6
6
6
終了行:
[[ネタ記録庫/Scala/Android/sbt-0.11.2]]
* ScalaにもOCamlやF#のようなLazy型が欲しい気がしたのでつ...
class Lazy[A](thunk : () => A) {
lazy val body = thunk()
}
object Lazy {
def lazy_[A](x : => A) = new Lazy(() => x)
def force[A](x : Lazy[A]) = x.body
}
** 使用例: [#o05d7781]
import Lazy._
def calc() = {
println("calc")
1+2+3
}
val x = lazy_(calc())
println("start")
println(force(x))
println(force(x))
println(force(x))
実行結果:
start
calc
6
6
6
ページ名: