From: okkez000@... Date: 2016-03-16T05:55:23+00:00 Subject: [ruby-dev:49513] [Ruby trunk Bug#8851] alias/undef で % リテラルによるシンボルが使えない Issue #8851 has been updated by okkez _. Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN) `ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]` でも同じ状況のままですが、いかがでしょうか? ---------------------------------------- Bug #8851: alias/undef で % リテラルによるシンボルが使えない https://bugs.ruby-lang.org/issues/8851#change-57483 * Author: okkez _ * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] * Backport: ---------------------------------------- るりまプロジェクトの#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) -- https://bugs.ruby-lang.org/