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