From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-09-18T20:07:43+09:00 Subject: [ruby-list:4421] Re: nif2news.rb けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :04420 ] the message: "[ruby-list:4420] Re: nif2news.rb ", on Sep/18 19:18(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです >|きくたにです。 > >|ただ、元のプログラムだとマッチしたパターンを使って処理してるので、 >|下の例で、手続きの中で $1 とかを参照できればいいのですが、 >|さすがに無理ですね。もう一度マッチさせるのも美しくないし。 最近同じような話題が続いていますね(^^;;; [ruby-list:4400]で紹介したんですが, =~ を用いるのではなくて, String#scanでマッチした配列を受けとりそれを, callで渡すようにすればよ いと思いますよ. def actions.call(str) each do |assoc| unless (match = str.scan(assoc[0])).empty? assoc[1].call match break end end end actions.add(mail_start) do |match| #メールの処理 end match[0]... でマッチしたパターンに参照できます. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---