Иногда можно сделать что-то быстрее, используя такую фичу. Суть в том, что нужно выделить какой-нибудь текст, а потом нажать Ctrl и выделить другой текст. Текст между будет таким образом пропущен.
Форматирование кода побилось, а так всё нормально. Кроме того, если вы не видели никогда блоков кода в смолтоке, лиспе или руби, это не значит, что они не имеют права на существование.
На самом деле всё намного проще:
def is_leap_year(y)
(y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)
end
def find_leap_years(start, finish)
(start..finish).select {|y| is_leap_year(y) }
end