action
- функция передачи по имени, которая принимает String
и возвращает String
. action
- функция передачи по имени, которая ничего не беретчтобы вернуть функцию, которая принимает String
и возвращает String
Теперь вы можете спросить: «Ну, что это значит для параметра, передаваемого по имени?»Хорошо ... это совсем другая банка червей.По сути, переданный по имени параметр оценивается только тогда, когда он использует в функции и каждый раз, когда он используется в функции.Это допускает что-то вроде короткого замыкания, как показано ниже:
def orOperator(left: Boolean, right: => Boolean) : Boolean = if (left) true else right
В этом случае оператор замкнет (и завершит работу без вычисления / оценки right
), если найдет left
длябудь правдой.
Итак ... то, что у тебя есть с этими параметрами, похожеЭто функции, которые по какой-то причине не оценивают, если / пока они не названы в теле функции.Я не понимаю мотивацию для этого, но ... так оно и есть.Я надеюсь, что это помогает.