col*_*nwd 0 ruby divide-by-zero
真的,Ruby中真正的基本块:
list = (1..125).to_a
list.each do |x|
print x if 125 % x = 0
end
Run Code Online (Sandbox Code Playgroud)
给我:
ZeroDivisionError: divided by 0
from (irb):3:in `%'
from (irb):3
from (irb):2:in `each'
from (irb):2
Run Code Online (Sandbox Code Playgroud)
然而,块"put x"返回1到125,就像它应该的那样.
到底是怎么回事?
mea*_*gar 11
在%评估运算符之前,您将0分配给x :
print x if 125 % x = 0
Run Code Online (Sandbox Code Playgroud)
注意,最后一位x = 0是赋值.您需要使用==来测试相等性:
print x if 125 % x == 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |