diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-08-07 23:01:22 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-08-07 23:03:17 +0900 |
| commit | 35be8b252495d92ca811d76996f03c470ee33380 (patch) | |
| tree | 8cc5e93c2236fbc6d1465e26c24be6e75067e2a1 | |
| parent | 54246db00aa9ae5a048d65f4263a3d14fd65d9d0 (diff) | |
| download | mruby-35be8b252495d92ca811d76996f03c470ee33380.tar.gz mruby-35be8b252495d92ca811d76996f03c470ee33380.zip | |
Fixed the corner case bug in `String#{gsub!,sub!}`.
`"a".sub!("a", "a")` should not return `nil`.
| -rw-r--r-- | mrblib/string.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb index ee98cfa0c..07b80b340 100644 --- a/mrblib/string.rb +++ b/mrblib/string.rb @@ -99,7 +99,7 @@ class String raise FrozenError, "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 + return nil unless self.index(args[0]) self.replace(str) end @@ -161,7 +161,7 @@ class String def sub!(*args, &block) raise FrozenError, "can't modify frozen String" if frozen? str = self.sub(*args, &block) - return nil if str == self + return nil unless self.index(args[0]) self.replace(str) end |
