J'essaye d'écrire dans Scala une fonction similaire à la fonction "itérer" de Haskell. Compte tenu d'une valeur x et une fonction f, itérer doit retourner un flux composé des valeurs x, f (x), f (f (x)), etc ...Scala fonction itérée infinie
Voici le code que j'ai écrit:
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)
}
}
Lorsque je tente de le compiler, je reçois l'erreur:
référence avant extension de la définition de la résolution de valeur (à la ligne 3)
Comment puis-je corriger mon code pour générer le bon flux ?
http://stackoverflow.com/questions/35111887/scala-error-forward-reference-extends-over- definition-of-value-when-code-appe –