この投稿 http://qiita.com/items/da15035975b3369c0330 を見て,見た目は確かに範囲指定ですが,その実態はオブジェクト指向な Ruby ならではなものがあるのになぁ…と思い立ったので書いてみます. この動作の実態は,Array クラスのインスタンスの [] メソッドに Range クラスのインスタンスを渡しているわけです. alpha = ["a", "b", "c", "d", "e"] p alpha.[](Range.new(2, 4)) #=> ["c", "d", "e"] p alpha.[](2..4) #=> ["c", "d", "e"] # Range.new(2, 4) と 2..4 は等価. p alpha[2..4] #=> ["c", "d", "e"] # .[](arg) と [arg] は等価. # (前者はメソッド