summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-11-23 23:31:47 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-11-23 23:31:47 +0900
commit87ce13f91d4ba874bbb5a0eac62f7aa9ae80fd3c (patch)
treebe72887a7239d1fba6970e9619e1d77b9b218951
parent9ec00ef1821494d1206fc7f99b029add3090e05a (diff)
parent6d00974a983399d12e6a38e9ea2c4c35ac7b6fd5 (diff)
downloadmruby-87ce13f91d4ba874bbb5a0eac62f7aa9ae80fd3c.tar.gz
mruby-87ce13f91d4ba874bbb5a0eac62f7aa9ae80fd3c.zip
Merge branch 'master' of github.com:mruby/mruby
-rw-r--r--mrbgems/mruby-string-ext/mrblib/string.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb
index b8cb93199..34744cc38 100644
--- a/mrbgems/mruby-string-ext/mrblib/string.rb
+++ b/mrbgems/mruby-string-ext/mrblib/string.rb
@@ -181,6 +181,7 @@ class String
ed = arg1.end
beg += self.size if beg < 0
ed += self.size if ed < 0
+ ed -= 1 if arg1.exclude_end?
validated = true
elsif arg1.kind_of?(String)
validated = true
@@ -198,18 +199,18 @@ class String
unless str == nil || str == ""
if arg1 != nil && arg2 !=nil
idx = arg1 >= 0 ? arg1 : self.size+arg1
- str2 = self[0...idx] + self[idx+arg2..-1]
+ str2 = self[0...idx] + self[idx+arg2..-1].to_s
else
if arg1.kind_of?(Range)
idx = beg >= 0 ? beg : self.size+beg
idx2 = ed>= 0 ? ed : self.size+ed
- str2 = self[0...idx] + self[idx2+1..-1]
+ str2 = self[0...idx] + self[idx2+1..-1].to_s
elsif arg1.kind_of?(String)
idx = self.index(arg1)
str2 = self[0...idx] + self[idx+arg1.size..-1] unless idx == nil
else
idx = arg1 >= 0 ? arg1 : self.size+arg1
- str2 = self[0...idx] + self[idx+1..-1]
+ str2 = self[0...idx] + self[idx+1..-1].to_s
end
end
self.replace(str2) unless str2 == nil