Scala «<-» для понимания

Я обнаружил, что у Скалы всегда есть «естественное объяснение» чему угодно. Всегда что-то вроде «ооо, но это просто функция, вызываемая для этого и того объекта с этим и этим параметром». В некотором смысле, ничто не является действительно волшебством компилятора, поскольку мы знаем это от других языков.

Мой вопрос на<- оператор, используемый в следующем коде:

for(i <- 0 to 10) println(i)

В этом примере я вижу переписывание чего-то вроде:

0.to(10).foreach((i:Int)=>println(i))

но это не объясняет, какi попал в анонимную функцию внутри функции foreach. На том месте, где вы пишетеi это не объект и еще не объявленная переменная. Так что же это такое и как оно переносится внутрь foreach?

Я думаю, что я наконец-то обнаружил что-то, что на самом делемагия компилятора

Спасибо за ваше время.

Чтобы уточнить, мой вопрос: как работает оператор <- в 1-й строке кода, поскольку я не являюсь объектом, для которого он может быть вызван как функция.

Ответы на вопрос(3)

Ваш ответ на вопрос