質問

私はこのようなコードを持っています

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

そして、それは機能しません

列挙器は拡張機能としてRuby 1.8で利用可能であることを理解しています。それをインストールする方法は?(私はRubyに初めてです)

役に立ちましたか?

解決

で述べたように この答え 別の質問に対して、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」にタイプミスがあることに注意してください)。

ルビー1.8.6 、「それぞれ」だけで、「次の」メソッドはありません。例:

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

ルビー1.8.7, 、「次」がサポートされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top