ルビーの列挙モジュール


Rubyの列挙型モジュールが魔法のメソッドを追加する
クラスにArray and Hash .
この記事では、例を挙げて列挙を実装することを学びます.

列挙
列挙はオブジェクトを1つずつ横断する過程です.
クラスを列挙可能にするには、Enumerable モジュールです.
このようにして、#map , #filter , #count , #include? , #any? , #uniq そしてもっとたくさん!


数え切れないモジュールは陽気に依存する#each 実装クラスのメソッド.
The #each メソッドは、ブロックが渡されるときに実装されます.
コレクションの内容を評価します.
> [1, 2, 3].each { |a| a }
=> [1, 2, 3]

列挙子
列挙子は、列挙子オブジェクトの手動反復処理を許可するクラスです.
#each がブロックなしで呼び出された場合、Enumerator オブジェクト
したがって、複数の列挙子を連鎖させることができます.
> enumerator = %w[foo bar baz].each
> enumerator
=> #<Enumerator: ["foo", "bar", "baz"]:each>

> enumerator.map.with_index { |w, i| "#{i}:#{w}" }
=> ["0:foo", "1:bar", "2:baz"]
列挙モジュールを持つLinkedListの例については、私の完全なポストをチェックしてください.
https://www.sandipmane.dev/exploring-rubys-enumerable-module