私はScalaでHaskellの "iterate"関数と同様の関数を記述しようとしています。値xと関数fが与えられたとき、反復はx、f(x)、f(x)などの値からなるストリームを返すはずです...スカラ無限反復関数
前方の適切なストリームを生成するためにどのように私は私のコードを修正することができ(3行で)値の解像度の定義にまたがる参照
:私はそれをコンパイルしようとすると
object current {
def iterate[A](f: A => A, x: A): Stream[A] = {
val res: Stream[A] = x #:: res.map(f)
return res
}
def double(x: Int) = x * 2
def main(args: Array[String]): Unit = {
val str: Stream[Int] = iterate(double, 2)
}
}
は、私はエラーを取得します?
http://stackoverflow.com/questions/35111887/scala-error-forward-reference-extends-over-:仕事への反復合成写像のための私のコードに最小限の変更は怠惰なキーワードを追加するだけです値の定義-code-appe –