Если Вы хотите стать чуть ближе к функциональному подходу написания кода, но словосочетание "функция высшего порядка" наводит на Вас ужас - то давайте попробуем разобраться, что к чему? И так, первое, что мы должны запомнить, так это то, что функция в Scala - это не метод, а значение(val а не def, проще говоря). Вы спросите - почему? Если Вы читали статью о обращении, то уже должны понимать, как будет происходить вызов функции в каждом из этих вариантов. Однако я бы сравнил функции не с "выполняющим какое-либо действие методом", а с "трубой, по которой течёт вода". Из этого вопрос - зачем Вам каждый раз новая труба, когда вы захотите влить в неё воду? Давайте посмотрим на простейшую функцию scala: val x2: Int => Int = x => x * 2 Подчёркиванием выделено аннотация, т.е. именно то, что функция должна делать, а жирным текстом - само тело функции. Эту же функцию можно записать иначе: val x2 = (x:Int) => x * 2 Как видите, здесь аннотация отсутствует, однако в таком случае необходимо явно ука