mannaro
@mannaro
Умею профессионально гуглить

Что значит конструкция -> {}?

Привет! Часто вижу конструкцию (arg) -> {}
Знаю Coffee и там это обозначает функцию. Однако a = (arg) -> { 920 } не работает :(
Погуглил, ответа не нашел. Итак, что обозначает эта конструкция?

Самое интересное, что приходится использовать ее самому, даже не понимая ее смысла.
  • Вопрос задан
  • 2240 просмотров
Решения вопроса 1
viktorvsk
@viktorvsk
Это lambda (или proc)
Коротко, по сути своей, это callable объект. Где вы сохраняете произвольный блок с произвольными формальными переменными. И в любой момент имеете возможность вызвать на нем метод call

a = -> { |time| User.where(created_at: time) }
...
a.call(Time.now)


Когда скобки перед лямбдой, просто синтаксис другой
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 13:07
7000 руб./за проект
07 мая 2024, в 12:59
500 руб./за проект
07 мая 2024, в 12:58
25000 руб./за проект