我不确定为什么这个方法没有运行。
编译错误显示:
sequence5.rb:1:in `sequence5': wrong number of arguments (2 for 1) (ArgumentError) from sequence5.rb:11:in `<main>'
但是你可以清楚地看到,sequence5
方法应该有 2 个参数,一个用于args
散列,另一个用于b
proc。
我要运行的代码在这里。
def sequence5(args, &b)
n, m, c = args[:n], args[:m], args[:c]
i = 0
while i < n
b.call(i*m+c)
i += 1
end
end
p = Proc.new {|x| puts x}
sequence5({:n=>3, :m=>4, :c=>0}, p)