summaryrefslogtreecommitdiffhomepage
path: root/mrblib
diff options
context:
space:
mode:
authorksss <[email protected]>2017-03-19 22:45:14 +0900
committerksss <[email protected]>2017-03-19 22:45:14 +0900
commit67a6982710f7538ef1f568fc9e87cfd3c50857c2 (patch)
tree48d678f91c2a122305523f504e545bd9f02c1639 /mrblib
parent09574922a987aaa0813a4dfd37ac89ca60ca4281 (diff)
downloadmruby-67a6982710f7538ef1f568fc9e87cfd3c50857c2.tar.gz
mruby-67a6982710f7538ef1f568fc9e87cfd3c50857c2.zip
Support to return Enumerator for String#gsub,gsub!
Diffstat (limited to 'mrblib')
-rw-r--r--mrblib/string.rb2
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)