mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Support to return Enumerator for String#gsub,gsub!
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user