Объявление:
val streetNumber: Int
означает, что тип данных streetNumber
равен Int
, а не , что тип возвращаемого значения Int
.Таким образом, это противоречит назначению:
val streetNumber = { num: Int -> num / 4 }
В этих случаях доверяйте предполагаемому типу данных, который (Int) -> Int
Переменная streetNumber
не является переменной, ссылающейся на целочисленное значение,как например: val x: Int = 0
.Это переменная, ссылающаяся на лямбда-выражение , которое возвращает целочисленное значение.Вы можете использовать его так:
val streetNumber = { num: Int -> num / 4 }
val x: Int = streetNumber(12)
println(x)
, который будет печатать
3