Мне трудно найти конкретные ответы на то, что я знаю, что-то тривиальное. Я хотел бы понять, как блоки работают в Scala. Я исхожу из java/ruby background, и кажется, что scala имеет совершенно другой способ использования блоков.
Следующий код из Play! Веб-сайт платформы. Я хотел бы понять, что Действие семантически. Это объект или функция, которая принимает блок, или, возможно, ни один.
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Если это функция, возможно, это синтаксический сахар для следующего (в этом случае, как scala проходит вокруг блоков за кадром):
def index = Action({
Ok(views.html.index("Your new application is ready."))
})
Или это какой-то синтаксис scala, о котором я не знаю.
Любые ссылки на исходный код scala помогут мне понять, как это работает за кулисами.