He encontrado que Scala siempre tiene una "explicación natural" para cualquier cosa. Siempre algo como "ohh, pero eso es solo una función que se llama en este y ese objeto con este y ese parámetro". En cierto sentido, nada es realmente compilador, como lo conocemos desde otros idiomas.Scala "<-" para comprensión
Mi pregunta es sobre la <- operador tal como se utiliza en el siguiente código:
for(i <- 0 to 10) println(i)
En este ejemplo puedo ver que está siendo reescrito para algo como:
0.to(10).foreach((i:Int)=>println(i))
pero esto no explica cómo se llevó el i al anon ymous función dentro de la función foreach. En el punto donde escribe i no es un objeto, y aún no es una variable declarada. Entonces, ¿qué es y cómo se transmite al interior de Foreach?
Mi conjetura es que, finalmente, descubrí algo que es de hecho compilador magia
Gracias por su tiempo.
Para aclarar, mi pregunta es: ¿Cómo funciona el < - operador de trabajo en la primera línea de código, ya que no es un objeto sobre el que se puede llamar como una función.
Esta parece ser la respuesta. Le sugiero que documente esto, si es posible, en este momento es un poco inesperado. – Felix
@Felix: está documentado en la especificación. Y casi todos los libros de Scala disponibles en el mercado lo cubren. – missingfaktor
oh sí, aún no tengo un libro. esperando el libro definitivo 2.8 – Felix