Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Rangeにもentriesがある

Dirなんかにも付属してるentriesメソッドですが・・・Rangeにも付属しています。
正確には、Enumerableにくっ付いたメソッドですが。

(1..9).entries
#=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

返ってくるのは配列なので、そのままメソッドチェインに繋げる事ができます。

(1..9).entries.reverse
#=> [9, 8, 7, 6, 5, 4, 3, 2, 1]

 (1..9).entries.select{|i| i > 5}
#=> [6, 7, 8, 9]

結果的にやってる事はto_aと変わらないので、
モンキーパッチで魔界挙動さたい場合なんかに使い分けるといいのかもしれません。