我真的不知道怎么说这么短,让我谷歌吧。
但是可以在多个条件while
循环中执行某种条件,而不会创建整个while
循环。
例如,是否可以做这样的事情
while num == "" || num == "0"
#ENTER CODE
而不是这样做
while num == ""
print "YOU MUST ENTER A NUMBER!"
num = gets.chomp
end
while num == "0"
print "ZERO IS NOT A VALID NUMBER!"
num = gets.chomp
end
我想知道是否可以这样做,但让它看起来更具视觉吸引力和简洁。
答案 0 :(得分:1)
这应该是技巧,一个循环并使用条件,要打印错误信息。
while num == "" || num == "0"
print "YOU MUST ENTER A NUMBER!" if num == ""
print "ZERO IS NOT A VALID NUMBER!" if num == "0"
num = gets.chomp
end
答案 1 :(得分:1)
你可以这样写:
while num.to_i.zero?
case number
when ''
print 'YOU MUST ENTER A NUMBER!'
when '0'
print 'ZERO IS NOT A VALID NUMBER!'
end
num = gets.chomp
end
这很有效,因为to_i
会为字符串0
和"0"
返回nil
。
此外,我建议更改错误消息以进一步简化代码:
while num.to_i.zero?
print 'Please enter a number greater then zero'
num = gets.chomp
end