diff options
| author | ksss <[email protected]> | 2017-03-19 22:45:14 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2017-03-19 22:45:14 +0900 |
| commit | 67a6982710f7538ef1f568fc9e87cfd3c50857c2 (patch) | |
| tree | 48d678f91c2a122305523f504e545bd9f02c1639 | |
| parent | 09574922a987aaa0813a4dfd37ac89ca60ca4281 (diff) | |
| download | mruby-67a6982710f7538ef1f568fc9e87cfd3c50857c2.tar.gz mruby-67a6982710f7538ef1f568fc9e87cfd3c50857c2.zip | |
Support to return Enumerator for String#gsub,gsub!
| -rw-r--r-- | mrblib/string.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb index 6e55ee341..24487cb00 100644 --- a/mrblib/string.rb +++ b/mrblib/string.rb @@ -58,6 +58,7 @@ class String # # ISO 15.2.10.5.18 def gsub(*args, &block) + return to_enum(:gsub, *args) if args.length == 1 && !block if args.size == 2 pattern, replace = *args plen = pattern.length @@ -91,6 +92,7 @@ class String # ISO 15.2.10.5.19 def gsub!(*args, &block) raise RuntimeError, "can't modify frozen String" if frozen? + return to_enum(:gsub!, *args) if args.length == 1 && !block str = self.gsub(*args, &block) return nil if str == self self.replace(str) |
