From: "no6v (Nobuhiro IMAI)" Date: 2013-06-01T21:30:03+09:00 Subject: [ruby-dev:47386] [ruby-trunk - Bug #8471] パーセント記法とString #メソッドの組み合わせの戻り値が異常 Issue #8471 has been updated by no6v (Nobuhiro IMAI). > 2番めと3番め、6番めと7番めをいろんな記号に置き換えてみると雰囲気がつかめるんじゃないでしょうか。 「2番めと3番め、6番めと7番めの % を」という意味でした。 $ ruby -rripper -rpp -ve 'pp Ripper.lex("%()%%!!.class")' ruby 2.1.0dev (2013-06-01 trunk 41011) [x86_64-linux] [[[1, 0], :on_tstring_beg, "%("], [[1, 2], :on_tstring_end, ")"], [[1, 3], :on_op, "%"], [[1, 4], :on_tstring_beg, "%!"], [[1, 6], :on_tstring_end, "!"], [[1, 7], :on_period, "."], [[1, 8], :on_ident, "class"]] ---------------------------------------- Bug #8471: パーセント記法とString #メソッドの組み合わせの戻り値が異常 https://bugs.ruby-lang.org/issues/8471#change-39592 Author: taka-yoshi (taka-yoshi taka) Status: Open Priority: Low Assignee: Category: Target version: ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN ***再現手順 下記のコードを実行すると。''が戻ってきます。 (%%%%%%%).nil? => '' 上記ではnil?を取り上げましたが、 実際は全メソッドで''が戻ってきます。 この戻ってきたものに対して各種メソッドを呼んでも''が返ってきます。 %%%%%%%.class.class.class.class => '' 下記の環境で確認しています。 ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1] ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.1] ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux] ruby 2.0.0p0 (2013-02-24) [x64-mingw32] 特に実害はないと思います。 -- http://bugs.ruby-lang.org/