Вы можете использовать case
, если вам нравится:
case val with nil, 0
# do stuff
end
Затем вы можете использовать что-нибудь, что работает с ===
, что приятно иногда. Или сделайте что-нибудь вроде этого:
not_valid = nil, 0
case val1 with *not_valid
# do stuff
end
#do other stuff
case val2 with *not_valid, false #Test for values that is nil, 0 or false
# do other other stuff
end
Это не совсем хороший ООП, но он очень гибкий и работает. Мой if
s обычно заканчивается как case
s в любом случае.
Конечно Enum.any?
/Enum.include?
вид работ тоже ... если вы хотите получить действительно загадочная:
if [0, nil].include? val
#do stuff
end
Право, что нужно сделать, конечно, определить метод или функцию. Или, если вам нужно сделать то же самое со многими значениями, используйте комбинацию этих хороших итераторов.
Что должно произойти, если вал равно `false`? – 2010-09-29 06:21:04