From: Yusuke Endoh Date: 2009-08-18T23:54:03+09:00 Subject: [ruby-dev:39108] [Bug #1953] empty range in String#tr causes unexpected behavior Bug #1953: empty range in String#tr causes unexpected behavior http://redmine.ruby-lang.org/issues/show/1953 起票者: Yusuke Endoh ステータス: Open, 優先度: Normal Target version: 1.9.x ruby -v: ruby 1.9.2dev (2009-08-18 trunk 24578) [i686-linux Are these intentional? "ABC".tr("ABC", "pq-a") #=> "pqq" "ABC".tr("ABC", "pq-ar") #=> "prr" "ABC".tr("ABC", "pq-ars") #=> "prs" "ABC".tr("ABC", "pq-arst") #=> "prs" I expect that an exception is raised or that "p-a" equals to "ponmlk...cba" (descending order). For reference, empty range is rejected in Perl: $ perl -e '"A" =~ tr/A/q-a/;' Invalid range "q-a" in transliteration operator at -e line 1. -- Yusuke ENDOH ---------------------------------------- http://redmine.ruby-lang.org