Секреты блоков, процедур и лямбд в Ruby

preview_player
Показать описание
Сегодня обсудим очень часто встречающиеся в Ruby конструкции: блоки (blocks), процедуры (procedures) и лямбды (lambdas). Посмотрим их применение на практике, узнаем отличия и способы конвертации одного в другое.

Таймкоды:
00:00 Введение
00:30 Краткая информация о блоках
01:50 Создание метода, принимающего блока (обработка архива ZIP), использование yield
07:00 Использование block_given?
09:20 Использование блоков для конфигурации (+ атрибуты модулей)
12:45 Процедуры и лямбды - введение
14:10 Варианты создания процедур и лямбд
15:30 Разница между процедурами и лямбдами
21:10 Процедуры и лямбды на практике
24:40 Как блоки соотносятся с процедурами и лямбдами?
26:20 Преобразование лямбд в блоки
29:30 Передача несколько лямбд в метод
30:50 Дальнейшие планы и планируемые видео

Аккаунт Ethereum (ETH): 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16

Рекомендации по теме
Комментарии
Автор

Спасибо, Илья! Я делаю свои первые шаги в рельсах и тема блоков-проков-лямбд для меня очень актуальна. Прекрасно объясняете!

olegmitnik
Автор

Руби заслуживает такой грамотной подачи.

Спасибо!

ilyamur
Автор

Смотрю ваши видео, по руби и рельсам, очень грамотная подача материала и интересно. Спасибо Вам за труд!

TheBedelbaev
Автор

И вновь все изложено очень качественно !!!! Приятно смотреть!!! Спасибо за труд !!! 20 из 5 балов И у меня вопрос к всем кто смотрит эти видео... хоть кто то заценил уровень того как качественно видео смонтировано ???? Это просто omfg переходы вообще фактически невозможно заметить... без прерываний и пауз Автору как всегда браво и мои овации !!!!

TimeToRush
Автор

Очень прозрачная и приятная подача, спасибо большое за видео! Планы очень крутые, будем ждать новых видео!

midda
Автор

Пытаясь разобраться в этой теме, я просмотрел статью на wikibooks [Ruby > Часть четвертая > Подробнее о методах > Подробнее о замыканиях], где автор(ы) ни разу не использовали слова блок, лямбда или прок - вместо всего этого использует термин замыкание. Здесь же автор разложил все по полочкам. Спасибо!

olegmitnik
Автор

Спасибо Илья! Как всегда интересно!
Для себя отметил разное поведение Lambda и Proc при использовании return
Ждем новых видео 👍

ppavelcars
Автор

Большое спасибо! Завтра будем разбираться! ))

MigelMora
Автор

Большое спасибо за труд и прекрасный разбор по Ruby и Rails. Один раз услышав, теперь буду ждать еще и видео по Elixir!

Hrodgarth
Автор

Я на 7:01 пошел исправлять свой код и поправил. Сейчас красота.

SuperVirtuall
Автор

Благодарю за видео. Стало понятно как именно работают конфиг-файлы в рельсах. Да, кстати, ссылка на гитхаб из описания "Блоки и лямбды на практике" на данный момент не рабочая.

ДмитрийЗагута
Автор

Приветик, я смотрю тебя еще с 600 подписчиков, огромное спасибо за труд и доступное объяснение) Но я так и не обнаружил видео по развертыванию сервера, если не сложно, то сделай пожалуйста)

NIKTEXNIK
Автор

Не знаю - было сказано или нет(возможно прослушал), но есть ещё различие между блоком в фигурных скобках и `do`, `end`. Это приоритет. Так, например, следующий код `puts 3.times.map do |x| x*2 end` будет интерпретироваться следующим образом(расставляю скобки для демонстрации приоритета): `puts (3.times.map) do |x| x*2 end` и выведет `#<Enumerator:0x...>`. А "тот же" код в фигурных скобках `puts 3.times.map{|x|x*2}` будет эквивалентен `puts (3.times.map do |x| x*2 end)` и выведет 0, 2, 4. Поэтому следует быть иногда с этим осторожнее, но в глаза это не сильно бросается. В любом случае спасибо автору канала за качественный контент!

dxmod