# Wrapped String#gsub

**URL:** <https://www.ruby-forum.com/t/wrapped-string-gsub/127215>\
**Category:** Development\
**Created:** [January 26, 2008, 12:00pm UTC](https://www.ruby-forum.com/t/wrapped-string-gsub/127215 "2008-01-26T12:00:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Park\_Ji-In](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/50afbb/32.png) [@Park\_Ji-In](https://www.ruby-forum.com/u/Park_Ji-In)\
**Post date:** [January 26, 2008, 12:00pm UTC](https://www.ruby-forum.com/t/wrapped-string-gsub/127215/1 "2008-01-26T12:00:02Z")

</div>

ã“ã‚“ã«ã¡ã¯ã€æœ´ èŠå°ã§ã™ã€‚

æ¬¡ã®ã‚ˆã†ã« gsubã‚’ãƒ©ãƒƒãƒ”ãƒ³ãƒƒã‚°ã—ã¦  
å®Ÿè¡Œã™ã‚‹ã¨ã€ã¡ã‚‡ã£ã¨æ„å¤–ãªçµæžœãŒã§ã¾ã™ãŒã€ã”ã‚Œã¯æ­£ã—ã„ã§ã—ã‚‡ã†ã‹ã€‚

å‹˜é•ã„ã ã£ãŸã‚‰ã™ã¿ã¾ã›ã‚“ã€‚

$ cat test2.rb  
class String  
def wrap\_gsub(\*a, &b)  
self.gsub(\*a, &b)  
puts “in wrapper ? #{$&}”  
end  
end

puts “wrapper”  
“abc”.wrap\_gsub(/([abc]+)/n) {|x| p $&}  
puts “and out of wrapper - #{$&}”  
puts “=======”  
puts “original”  
“abc”.gsub(/([abc]+)/n) {|x| p $&}

çµæžœã§ã™ã€‚1.8/1.9 åŒã˜ã§ã™ã€‚

# $ ruby test2.rb wrapper nil in wrapper ? abc and out of wrapper -

# original “abc” $ ruby --version ruby 1.9.0 (2008-01-22 revision 0) [i686-linux] mithrandir@losrorien ~/Development/ruby-1.8.6 $ ruby18 test2.rb wrapper nil in wrapper ? abc and out of wrapper -

original  
“abc”  
$ ruby18 --version  
ruby 1.8.6 (2007-12-03 patchlevel 113) [i686-linux]
