summaryrefslogtreecommitdiffhomepage
path: root/mrblib
diff options
context:
space:
mode:
Diffstat (limited to 'mrblib')
-rw-r--r--mrblib/string.rb11
1 files changed, 2 insertions, 9 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb
index adf19d00c..0bac52a20 100644
--- a/mrblib/string.rb
+++ b/mrblib/string.rb
@@ -44,20 +44,13 @@ class String
pointer += 1
end
else
- matched_length = 0
- separator_length = separator.length
- while pointer < string.length
- c = string[pointer]
- pointer += 1
- matched_length += 1 if c == separator[matched_length]
- next unless matched_length == separator_length
-
+ while (pointer = string.index(separator, start))
+ pointer += separator.length
if self.class == String
yield string[start...pointer]
else
yield self.class.new(string[start...pointer])
end
- matched_length = 0
start = pointer
end
end