HTML Diff
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) #=&gt; "two" pp describe_number(5) #=&gt; "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) #=&gt; "two" pp describe_number(5) #=&gt; "unknown"