ちわ、時田です From: matz / netlab.co.jp (Yukihiro Matsumoto) Subject: [ruby-list:19554] Re: String#shift? Date: Thu, 16 Dec 1999 00:52:18 +0900 > まつもと ゆきひろです > > In message "[ruby-list:19550] Re: String#shift?" > on 99/12/16, Norio Suzuki <nosuzuki / e-mail.ne.jp> writes: > |ただ、shift と言うメソッド名に引っ掛かります。shift だと単純に 1キャラ > |クターずつ取れてくるというイメージです。 > > そーですね。配列との対比でいうとそういうイメージがありますね。 > 適切な名前が見付かれば採用できるかも。 > > まつもと ゆきひろ /:|) 私も同じような機能が欲しくて、ちょっと前にとりあえずこんなのを使ってみました class String def shift(num) dat = self[0,num] self.replace(self[num..self.size-1]) return dat end end 先頭から文字列を取り除くのと、後ろに文字列くっつけるのがあれば良くて 後ろにつけるのは += すればいいだけだから、取り出すのを作ってみたわけです ネーミングは私も もっといいのがあればと思うんですが…(^^; でも、ワードで扱うより 基本的機能にするならこっちのが「らしい」と 思うんですが … なんか、私勘違いしてます?(^^; コーディング的には、もっと綺麗にかけそうな気もするのだけど 先頭を読むのはなんとでもなるとして、先頭部分を削るのに replace ってのも 美しくないなぁ… って思ってしまいます。 selfの指すオブジェクトのインデックス位置を移動するようなメッソッドが あればいいんですが そんなのあります?(^^; -- 時田幸粋 E-mail: ktokita / ma.neweb.ne.jp URL : http://www1.neweb.ne.jp/wa/ktokita