なぜコードブロック内で変数を再帰的に定義できないのですか?なぜコードブロック内で変数を再帰的に定義できないのですか?
scala> {
| val test: Stream[Int] = 1 #:: test
| }
<console>:9: error: forward reference extends over definition of value test
val test: Stream[Int] = 1 #:: test
^
scala> val test: Stream[Int] = 1 #:: test
test: Stream[Int] = Stream(1, ?)
lazy
キーワードは、この問題を解決するが、それは、コードブロックせずに動作しますが、コードブロックにコンパイルエラーがスローされますなぜ私が理解することはできません。
最後の例はコンパイルされません。 (どちらが問題なのでしょうか) – Debilski
@Debilski:あなたは正しいですが、2.10ではもうコンパイルされません。私はバグレポートで述べたようにこれをコンパイルするために2.9.0を使用しました。 – sschaef
私は2.9.1-1を使用していました。だからそれは間に変更されているに違いない。 – Debilski