In <20011013.151145.13241139.JCA02266 / nifty.ne.jp> On Sat, 13 Oct 2001 15:12:42 +0900 Koji Arai <JCA02266 / nifty.ne.jp> wrote: > [ruby-list:6005] を参考に私も作ってみました。jcode.rb に依存 > しないのがミソです。 > # jleft, jright はおまけで jfold がメイン > > でも、jfold って既に誰かが作ってそうですよね。最上の実装の物 > を FAQ に載せるか、jcode.rb に入れたいです。 文字数で切り出しじゃなくて何バイトまでかで指定するのが ポイントでしょうか。 jfoldはすでに改行が入っている文字列の場合にどうすれば いいのかが悩ましいですが。 foldってNKF.nkf("-f#{len}", str)でもいいような気も しますが。 class String def jleft(n) /\A.{0,#{n}}/m === self s = $& s.sub!(/.\z/m,'') while n < s.size s end def jright(n) /.{0,#{n}}\z/m === self s = $& s.sub!(/\A./m,'') while n < s.size s end def jfold(len) ary = [] str = self.delete("\r\n") until str.empty? left = str.jleft(len) str[0,left.size] = '' ary.push left yield left if block_given? end ary end end -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)