我有以下代码
A = 1.0
B = 0.20
N = 8.0
for i in 1..Total
t = Maxt * rand
x = A * Math.cos(t) / (Math.log(B*Math.tan(t/(2*N))))
y = A * Math.sin(t) / (Math.log(B*Math.tan(t/(2*N))))
end
Run Code Online (Sandbox Code Playgroud)
如果我注释掉For循环它会执行正常并产生我想要的结果之一.如果我没有注释掉for循环,它会生成以下内容.我是Ruby的新手,主要是好奇为什么它只在for循环出现时才会中断.
rubyfile.rb:22:in `log': Numerical argument out of domain - log (Errno::EDOM)
from rubyfile.rb:22
from rubyfile.rb:20:in `each'
from rubyfile.rb:20
Run Code Online (Sandbox Code Playgroud)