0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В Ruby switch case может использоваться следующим образом</p>
1
<p>В Ruby switch case может использоваться следующим образом</p>
2
condition = 1 case condition when 1 # first case pp 'first' when 2 # second case pp 'second' else # default case pp 'default' end<p>Т.е. в отличии от большинства языков, здесь используется не switch/case/default, а case/when/else. В case передаётся условие и оно разруливается по веткам внутри when. Если ни одно из значений не подошло, то выполнится else, если он есть.</p>
2
condition = 1 case condition when 1 # first case pp 'first' when 2 # second case pp 'second' else # default case pp 'default' end<p>Т.е. в отличии от большинства языков, здесь используется не switch/case/default, а case/when/else. В case передаётся условие и оно разруливается по веткам внутри when. Если ни одно из значений не подошло, то выполнится else, если он есть.</p>
3
<p>Также в case/when можно не писать return, если конструкция должна что-то вернуть из функции</p>
3
<p>Также в case/when можно не писать return, если конструкция должна что-то вернуть из функции</p>
4
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"
4
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"