Я обнаружил, что Scala всегда имеет "естественное объяснение" ко всему. Всегда что-то вроде "ohh, но это только функция, вызываемая этим и этим объектом с этим и этим параметром". В некотором смысле, ничто на самом деле не является компилятором, поскольку мы знаем это с других языков.
Мой вопрос касается оператора < -, который используется в следующем коде:
for(i <- 0 to 10) println(i)
В этом примере я вижу, что он переписывается на что-то вроде:
0.to(10).foreach((i:Int)=>println(i))
но это не объясняет, как i попал в анонимную функцию внутри функции foreach. В точке, где вы пишете i, это не объект и еще не объявленная переменная. Итак, что это такое и как оно переносится внутрь foreach?
Я предполагаю, что я наконец обнаружил что-то, что на самом деле является манерой компилятора
Спасибо за ваше время.
Чтобы уточнить, мой вопрос: каким образом оператор < - работает в 1-й строке кода, так как я не является объектом, на котором он может быть вызван как функция.