Actions
Bug #2327
closedString#upto で beg が非英数の時破壊的変更がその後に影響する
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.2dev (2009-11-02 trunk 25631) [x86_64-freebsd8.0]
Backport:
Description
=begin
String の場合、upto のブロックパラメータを破壊的に変更することが出来ますが、
非英数の際にこれがその後の挙動に影響を与えることがあります。
irb(main):001:0> "1".upto("9"){|x|print x;x.replace("9")}
123456789=> "1"
irb(main):002:0> "a".upto("z"){|x|print x;x.replace("z")}
abcdefghijklmnopqrstuvwxyz=> "a"
irb(main):003:0> "\u3041".upto("\u3093"){|x|print x;x.replace("\u3093")}
ぁ=> "ん"
irb(main):004:0> s="\u3041";s.upto("\u3093"){|x|print x;x.replace("\u3093")}
ぁ=> "ん"
以上のように、"ぁ"のみで終わってしまったり、戻り値が変わってしまったりします。
=end
Actions
Like0
Like0