Подтвердить что ты не робот

Что называется => в Scala?

Я знаю, что => в Scala используется в литералах функций и означает "преобразовать вещь слева в вещь справа". Но что на самом деле называется символом? Равно, подразумевается, лямбда? Какие?

4b9b3361

Ответ 1

Я помню, что где-то читал термин "ракета", возможно, в книге Программирование Scala Дин Уэмплер и Алекс Пейн. Я нашел этот ответ от Bill Venners на форуме:

Я спросил Мартина Одерского некоторое время назад, что он назвал этим, и он сказал "стрелка вправо". Рон Хитченс предложил мне пару месяцев назад имя "пуля". Я использовал это здесь и там, но, похоже, это не было. Около 2 недель назад я спросил некоторых ребят-рубинов, как они это называют, и они сказали "хеш-ракета". Причиной "хэша" является Ruby, который использует его для сопоставления ключей для значения, т.е. "Key = > value" в Ruby похож на "key- > value" в Scala (но нетипизирован в Ruby) и, конечно же, → в Scala является абстракцией библиотеки, а не частью языка.

Поэтому я предлагаю назвать это "ракета". Это более захватывающее и менее сильное, чем пуля, и мы можем приложить там прилагательное, чтобы различать различные виды использования в Scala: там "функция ракеты" в анонимных функциях, возможно, "ракета-носитель" в предложении case в выражении соответствия или частичная функция и т.д.

Таким образом, "официальным" термином, используемым Одерским, является "стрелка вправо".

Ответ 2

Также обычно называется "стрелка жира"

ОБНОВЛЕНИЕ: О, я только заметил, что Паоло Фалабелла упомянул об этом в комментарии выше. Как бы то ни было, так же хорошо иметь правильный ответ здесь, так как "жирная стрела" имеет для него очень общее название.