Ruby/Избранное с RubyNews: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 371:
 
Правил я программку для mikrit'a и применил достаточно интересный подход для составных условий вида <code>type == const1 || type == const2</code>. Итак, чтобы было понятно, продемонстрирую пример кода:
<codesource lang=ruby>CONST1, CONST2 = 45, 37
var = gets.to_i
puts( if CONST1 == var || CONST2 == var then "yes" else "no" end )</codesource>
В данном примере наглядно видно дублирование кода. Попытаемся от него избавиться:
<codesource lang=ruby>CONST1, CONST2 = 45, 37
var = gets.to_i
puts( if [CONST1,CONST2].include?( var ) then "yes" else "no" end )</codesource>
Данный способ позволяет не только убрать дублирование кода, но и (в случае необходимости) добавить еще одно подобное условие.