Действительно есть: это называется "val
". : -)
({ x: Double =>
val y = x + x
y * y
})(3)
Здесь фигурные скобки, конечно, необязательны, я просто предпочитаю их скобкам при определении функций (в конце концов, это не Лисп). Ключевое слово val
определяет новую привязку в текущей лексической области. Scala не заставляет местных жителей определять собственную область видимости, в отличие от таких языков, как Lisp и ML.
На самом деле, var
также работает в любой области видимости, но использовать его считается плохим стилем.