2011-01-12 67 views
0

我有這樣如何在Ruby 1.8中使用枚舉器運行代碼?

my_enum = [1,2].to_enum 
puts my_emum.next 

代碼,它不工作

據我所知,枚舉可在Ruby 1.8中作爲一個擴展。如何安裝它?(我是新來的紅寶石)

+0

錯字是否出現在您的實際代碼中? – 2011-01-12 22:03:17

回答

2

如果我修復了錯字,它工作正常。 irb會議如下。

>> my_enum = [1,2].to_enum 
=> #<Enumerable::Enumerator:0xb79dd700> 
>> puts my_enum.next 
1 
>> puts my_enum.next 
2 

>> VERSION 
=> "1.8.7" 
2

您運行的是什麼版本的Ruby 1.8的測試?這很重要。

(另請注意,您在「my_emum」中有錯字)。

Ruby 1.8.6中,沒有用於枚舉的「next」方法,只是「each」。 實施例:

my_enum = [1,2].to_enum 
my_enum.each do |e| 
    puts e 
end 

Ruby 1.8.7, 「下一個」 被支撐。