Как использовать условную конструкцию switch case в ruby — Q&A Хекслет
2026-02-26 23:22 Diff

В Ruby switch case может использоваться следующим образом

condition = 1 case condition when 1 # first case pp 'first' when 2 # second case pp 'second' else # default case pp 'default' end

Т.е. в отличии от большинства языков, здесь используется не switch/case/default, а case/when/else. В case передаётся условие и оно разруливается по веткам внутри when. Если ни одно из значений не подошло, то выполнится else, если он есть.

Также в case/when можно не писать return, если конструкция должна что-то вернуть из функции

def describe_number(number) case number when 1 'one' when 2 'two' when 3 'three' else 'unknown' end end pp describe_number(2) #=> "two" pp describe_number(5) #=> "unknown"