From: "NARUSE, Yui" Date: 2008-01-26T21:13:18+09:00 Subject: [ruby-dev:33408] Re: wrapped String#gsub 成瀬です。 Park Ji-In wrote: > 朴 芝印です。 > すみません。説明が足りなかったので申し訳ございません。 > > 改めて書いてみます。 > > class String > def wrap_gsub(*a, &b) > self.gsub(*a, &b) > end > end > > puts "wrapper" > "abc,abc".wrap_gsub(/([abc]+)/) { puts $1 } > puts "original" > "abc,abc".gsub(/([abc]+)/) { puts $1 } > > -- 結果 -- > > wrapper > nil > nil > original > "abc" > "abc" > > です。gsubをblock付きで呼ぶときは検索できたもじれつは > $1, $2などで渡すと書いてありました。 > > が、こんな風にblockを渡してdeligator見たいな真似を > することは出来ないでしょうか。 えーっと、たぶん、 class String def wrap_gsub(a) self.gsub(a){ yield $1} end end とか class String def wrap_gsub(*a) self.gsub(*a) end end でしょうか。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA