IronRuby对each_for_index有问题吗?

时间:2010-09-02 16:33:17

标签: ironruby

我正在研究IronRuby中的一些东西,但我遇到了一些障碍。这段代码:

def func
    b = @b
    b.each_with_index do |element, index|
        <some stuff in here>
    end
end

给出以下错误:

./myfile.rb:<line number>:in 'func': wrong number of arguments (0 for 1) (ArgumentError)
    from IronRuby.Libraries:0:in '<EachWithIndex>b__9'
    from IronRuby.Libraries:0:in 'each'
    from IronRuby.Libraries:0:in 'Each'
    from ./myfile.rb:<line number>:in 'each_with_index'
    from ./myfile.rb:<line number>:in 'func'

我在这里做错了吗?我正在使用IronRuby 1.0(.NET 2.0版本)。这可能是一件非常明显的事情,但我一直无法找到答案。

作为一个注释:我已经在那里抛出了一堆puts语句,而b肯定是一个数组,所以它并不像我试图在它不应该工作的东西上做这个。

1 个答案:

答案 0 :(得分:1)

啊,我想通了,IronRuby的目标是Ruby 1.8.6,显然each_for_index没有返回1.8.6的枚举器。我把它改成了:

require 'enumerator'

b.enum_for(:each_with_index) do |element, index|

似乎工作正常。