From: koic.ito@... Date: 2016-11-07T04:49:38+00:00 Subject: [ruby-dev:49861] [Ruby trunk Bug#12789] syntax error keyword_do_block at ruby 2.4.0dev (2016-09-26 trunk 56254) Issue #12789 has been updated by Koichi ITO. こちら以下のバージョンでは再現しないため HEAD で一時的に起きていた現象と思われます。よろしければクローズ頂ければと思います。 ``` % ruby -v ruby 2.4.0dev (2016-11-07 trunk 56657) [x86_64-darwin13] ``` ---------------------------------------- Bug #12789: syntax error keyword_do_block at ruby 2.4.0dev (2016-09-26 trunk 56254) https://bugs.ruby-lang.org/issues/12789#change-61378 * Author: Koichi ITO * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-09-26 trunk 56254) [x86_64-darwin13] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- ruby 2.4.0dev (2016-09-26 trunk 56254) にて、ブロック付きの特異メソッド呼び出しの前に、 同名の変数への代入があると syntax error になりました。以下、サンプルコードです。 ``` % cat syntax_error.rb class A def self.foo(&block) puts 'hello' end foo = nil foo do end end ``` ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin13] での実行結果です。 ``` % ruby syntax_error.rb hello ``` ruby 2.4.0dev (2016-09-26 trunk 56254) [x86_64-darwin13] での実行結果です。 ``` % ruby syntax_error.rb syntax_error.rb:8: syntax error, unexpected keyword_do_block, expecting keyword_end ``` こちらの挙動について期待している振る舞いかどうか判断がつかなかったため、レポートとさせてください。 -- https://bugs.ruby-lang.org/