У меня возникла небольшая проблема с использованием Параметры и Отложенная оценка вместе. например, когда я пробую этот код в REPL, я получаю следующее
lazy val a = 3+3
РЕПЛ говорит:
a: Int = <lazy>
что очень круто, но..
val b = Some(a)
РЕПЛ говорит:
b: Some[Int] = Some(6)
Похоже, что Некоторым приходится оценивать аргумент, прежде чем помещать его в Option :(
также
val b = Box !! a
оценивает
b: net.liftweb.common.Box[Int] = Full(6)
тот же эффект :(
есть ли обходной путь, мне просто нужен вариант с ленивым валом внутри, если бы я мог добиться следующего, было бы здорово
b: Some[Int] = Some(<lazy>)
Примечание:
Прежде чем задать вопрос, я провел небольшое исследование и обнаружил, что scalaz имеет что-то под названием LazyOption, интересное, но я не мог его использовать :(
Любая помощь !
lazy val b: Option[Int]
илиOption[() => Int]
. - person senia   schedule 04.08.2013Option[() => Int]
справилась. - person Emad Shaaban   schedule 04.08.2013