From: "okkez (okkez _)" Date: 2013-09-02T15:05:45+09:00 Subject: [ruby-dev:47681] [ruby-trunk - Bug #8851][Open] alias/undef で % リテラルによるシンボルが使えない Issue #8851 has been reported by okkez (okkez _). ---------------------------------------- Bug #8851: alias/undef で % リテラルによるシンボルが使えない https://bugs.ruby-lang.org/issues/8851 Author: okkez (okkez _) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN るりまプロジェクトの#7102で報告されていたのですが、調べてみたら2.0.0でも同様の状況だったので報告します。 以下のスクリプトで、コメントアウトしている部分を有効にすると syntax error になります。 一貫性の観点から %s によるシンボルリテラルも使えた方がいいように思うのですが、いかがでしょうか? $ ruby -v a.rb ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] a.rb:21: syntax error, unexpected '(', expecting keyword_end alias %s(method5) method4 ^ class A def method1 end def method2 end def method3 end def method4 end end p A.instance_methods(false) class A undef method1 undef :method2 undef :"method#{3}" # undef %s(method4) # alias %s(method5) method4 end p A.instance_methods(false) -- http://bugs.ruby-lang.org/