У меня есть функция, определенная какПочему вызов функции никогда не выполняется?
def counter(x: Int) = {
var i = x
() => {
i = i + 1
println(i)
}
}
val count = counter(0)
count
Так функция не принимая параметр возвращения блока. Тогда круглые скобки могут быть опущены при вызове count
. Но если я позвоню, просто скажу, что count
, i
на самом деле не будет добавлен, и ничего не произойдет. Тем временем, предупреждение компилятора будет дано как «Чистое выражение ничего не делает, вы можете исключить скобки».
Если я назову его круглыми скобками, например count()
, все будет в порядке и увеличено i
будет напечатано.
Почему говорить count
не работает? Спасибо.
Но это функция без аргументов, поэтому я полагаю, я мог назовите его без круглых скобок, просто говоря 'count', а не' count() '? – Leigh