我需要一个Enumerator
来覆盖从n
到a
的{{1}}位数字。我需要一个带有步骤b - (b - a) / n.to_f()
的左闭合右开间隔。我怎么能得到它?
我使用(b - a) / n.to_f()
,但a.step(b, (b - a) / n.to_f())
会返回step
,该Enumerator
会重复n + 1
个数字,包括两端a
和b
。
答案 0 :(得分:1)
def get_steps(a,b,n)
step = (b - a) / n.to_f
a.step(b - step, step) # or a.step(nil, step).take(n)
end
get_steps(2,4,5) #=> <Enumerator:... >
get_steps(2,4,5).to_a #=> [2.0, 2.4, 2.8, 3.2, 3.6]