Project

General

Profile

Bug #17764

Updated by hsbt (Hiroshi SHIBATA) 8 months ago

 
 # ブロック付きメソッドにおけるproc(または Proc.new)の参照がArgumentErrorを吐く問題 
 # Ruby 3.0.0 linux x86-64およびWindows上のmingw-x86-64バイナリにて発生し、2.7.2-1ではいずれも発生しないことを確認済み。 
 # また、2021/3/31現在、TryRubyサイト( https://try.ruby-lang.org/ ) の上でも発生することを確認済み。 

 ``` 
 def foo 
   puts (block_given? ? proc : proc{"ブロックなし"}).call 
 end 

 # @ruby 3.0.0 
 foo #ブロックなし => "ブロックなし" 
 foo{"ブロックあり"} #ブロックあり => ArgumentError: tried to create Proc object without a block 

 # @ruby 2.7.2 
 foo #ブロックなし => "ブロックなし" 
 foo{"ブロックあり"} #ブロックあり => "ブロックあり" 
 ```

Back