私はこのようなコードを持っています
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 で拡張機能として使用できることを理解しています。インストール方法は? (私はルビーが初めてです)
タイプミスを修正すれば、問題なく動作します。irbセッションが続きます。
>> my_enum = [1,2].to_enum
=> #<Enumerable::Enumerator:0xb79dd700>
>> puts my_enum.next
1
>> puts my_enum.next
2
でテスト済み
>> VERSION
=> "1.8.7"
どのバージョンのruby1.8を実行していますか?これは非常に重要です。
(「my_emum」にタイプミスがあることにも注意してください)。
Ruby 1.8.6では、列挙型の「次の」メソッドはなく、「それぞれ」だけです。例:
my_enum = [1,2].to_enum
my_enum.each do |e|
puts e
end
Ruby 1.8.7では、「next」がサポートされています。
別の質問に対するこの回答で述べたように、Ruby 1.8.6では、次のことができます。
require 'enumerator'
6.enum_for(:times).map {...}
しかし、それがあなたにできるかどうかはわかりませんmy_enum.next
。
ドキュメントはhttp://ruby-doc.org/stdlib/libdoc/enumerator/rdoc/にあると思いますが、現在ダウンしているようです。