【发布时间】:2019-02-03 12:40:37
【问题描述】:
我的方法处理程序循环的真/假。代码接受一些整数,然后检查:
- 如果提交的值为数字
- 如果数字在 1 到 100 之间
代码是:
def self.number_validator(*numbers)
numbers.each do |number|
unless number.is_a?(Integer)
puts "#{number} is not an integer"
return false
end
unless number > 0 && number < 100
puts "#{number} is out of range"
return false
end
end
return true
end
我的理解是返回false会退出整个方法。我很担心并想确保它不会只破坏循环并返回return true 部分。我想确保 true 值不会被 false 值触发而关闭循环并返回到整个方法(而不是实际上只是报告 false 并停止该方法)。
【问题讨论】:
-
方法内的任何
return语句都将结束任何后续评估。如果你想打破循环,你会使用break;如果你想进入循环的下一次迭代,你可以使用next
标签: ruby methods boolean boolean-operations