新井です。 # やっと ruby-listを再読し始めました。 # すでに解決した話でしたら無視してください >>> From: kjana / os.xaxon.ne.jp (YANAGAWA Kazuhisa) >>> Date: 11 Feb 1999 22:58:22 +0900 >>> Subject: [ruby-list:12018] Re: document|implemnt bu on Array#[x..y] > いえ,`cdr(arr)' っていうイメージです. > > [1][1..-1] は [] を返さずに例外になるから困ったな, > > っと.前のメールに書いたように > > tmp = arr.dup; tmp.shift; tmp > > でいいわけですが,もっとスマートなやり方は無いでしょうか,という話です. class Array def cdrsafe begin self[1..-1] rescue IndexError [] end end end p [1,2,3].cdrsafe p [1].cdrsafe => [2, 3] [] では、ダメかな? もっと、汎用的に書けるかも知れませんが名前が思い付 かない。