From 67a6982710f7538ef1f568fc9e87cfd3c50857c2 Mon Sep 17 00:00:00 2001 From: ksss Date: Sun, 19 Mar 2017 22:45:14 +0900 Subject: Support to return Enumerator for String#gsub,gsub! --- mrblib/string.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mrblib') 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) -- cgit v1.2.3