my_enum = [1,2].to_enum
puts my_emum.next
代碼,它不工作
據我所知,枚舉可在Ruby 1.8中作爲一個擴展。如何安裝它?(我是新來的紅寶石)
my_enum = [1,2].to_enum
puts my_emum.next
代碼,它不工作
據我所知,枚舉可在Ruby 1.8中作爲一個擴展。如何安裝它?(我是新來的紅寶石)
正如this answer提到一個不同的問題,用Ruby 1.8.6,你可以做
require 'enumerator'
6.enum_for(:times).map {...}
但我不知道這是否會允許你這樣做my_enum.next
。
我認爲文檔是在http://ruby-doc.org/stdlib/libdoc/enumerator/rdoc/,但它似乎是現在。
如果我修復了錯字,它工作正常。 irb會議如下。
>> my_enum = [1,2].to_enum
=> #<Enumerable::Enumerator:0xb79dd700>
>> puts my_enum.next
1
>> puts my_enum.next
2
在
>> VERSION
=> "1.8.7"
您運行的是什麼版本的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, 「下一個」 被支撐。
錯字是否出現在您的實際代碼中? – 2011-01-12 22:03:17