From: shyouhei@... Date: 2016-03-16T10:44:36+00:00 Subject: [ruby-dev:49516] [Ruby trunk Bug#8851] alias/undef で % リテラルによるシンボルが使えない Issue #8851 has been updated by Shyouhei Urabe. Description updated ---------------------------------------- Bug #8851: alias/undef で % リテラルによるシンボルが使えない https://bugs.ruby-lang.org/issues/8851#change-57499 * 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 ^ ~~~ ~~~ruby 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/