ルビーの列挙モジュール
3018 ワード
Rubyの列挙型モジュールが魔法のメソッドを追加する
クラスに
この記事では、例を挙げて列挙を実装することを学びます.
列挙
列挙はオブジェクトを1つずつ横断する過程です.
クラスを列挙可能にするには、
このようにして、
各
数え切れないモジュールは陽気に依存する
The
コレクションの内容を評価します.
列挙子
列挙子は、列挙子オブジェクトの手動反復処理を許可するクラスです.
時
したがって、複数の列挙子を連鎖させることができます.
https://www.sandipmane.dev/exploring-rubys-enumerable-module
クラスに
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
Reference
この問題について(ルビーの列挙モジュール), 我々は、より多くの情報をここで見つけました https://dev.to/sanemane/enumerable-module-in-ruby-1e67テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol