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

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

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

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

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


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

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

Похожие вопросы