まつもと直伝 プログラミングのオキテ 第7回を読んだ

まつもと直伝 プログラミングのオキテ 第7回 | 日経 xTECH(クロステック)
コレクションについての章。
Rubyのコレクション、最高!!
表現が他の言語と比べてて非常に簡潔。
配列指定演算子[]を使って部分要素の取得、置換、挿入までできちゃう!!スゲっ!!しかも文字列も各文字の配列として扱えるので、部分文字列の取得、置換、挿入もこれで思いのまま。今まで部分文字列の指定で、substrなのか、substringなのかとか、終わり位置の指定がインデックスなのか長さなのかとか一々ヘルプで調べてたのが手間から完全に解放された。なぜなら覚えやすいから。
Rubyは本当に開発者の事を考えて作られた言語だなぁと思う。

それに輪をかけるようにすごいのが、Enumerable モジュール。
集合に対する操作はもうこれでバッチリって感じ。しかも自分で作った集合クラスにもincludeできてしまう。必要なのはそのクラスにeachメソッドを自分で定義するだけ。

ただしeachはEnumerableには定義されていません。逆にEnumerableのすべてのメソッドは内部的にeachを呼び出すことで定義されています。各要素に対してeachメソッドで繰り返すことができるオブジェクトでは,Enumerableをincludeすることで表1のような豊富なメソッドを使えるようになります。これは便利です。

entries の使い方が最初わからなかったが、例としてはこんな感じ。

class Test
  include Enumerable
  
  def each
    yield 3
    yield 5
    yield 12
  end
end

test = Test.new
test.entries

=> [3, 5, 12]

配列として取り出せるよって事か。

ただ、このITProの記事誤植が大過ぎ。後、表とかを画像ファイルにするのは意味不明。コピペできないじゃん。