ref
модификатор означает что:
out
модификатор означает что:
Я не думаю, что происходит что-то более глубокое, чем то, что вы первоначально сказали: это просто синтаксический сахар, посредством которого компилятор преобразует f (a)
в f .apply (a)
как особый синтаксический случай.
Это может показаться особым правилом, но только некоторые из них (например, с update
) допускают DSL -подобные конструкции и библиотеки.
На самом деле все обстоит наоборот: объект или класс с методом apply - это нормальный случай, а функция - это способ неявно конструировать объект с тем же именем с помощью метода apply. Фактически каждая определяемая вами функция является подобъектом свойства Function n (n - количество аргументов).
См. Раздел 6.6: Приложения функций в Scala Спецификация языка для получения дополнительной информации по теме.
Я спрашиваю, потому что кажется, что Scala настоятельно поддерживает согласованное применение меньшего набора правил, а не многих правил с множеством исключений.
Да. И это правило принадлежит к этому меньшему набору.