From: "pedz (Perry Smith)" Date: 2012-08-15T08:43:49+09:00 Subject: [ruby-core:47196] [ruby-trunk - Feature #6868] Make `do` in block syntax optional when the block is the last argument of a method and is not an optional argument Issue #6868 has been updated by pedz (Perry Smith). The idea seems extremely bad to me. ---------------------------------------- Feature #6868: Make `do` in block syntax optional when the block is the last argument of a method and is not an optional argument https://bugs.ruby-lang.org/issues/6868#change-28874 Author: alexeymuranov (Alexey Muranov) Status: Feedback Priority: Normal Assignee: Category: core Target version: 3.0 =begin I propose to make the use of "(({do}))" in block syntax optional if the block is the last argument of a method and if it is a required argument, at least if the block does not take parameters. (I think this would be in line with how for example the last hash argument is treated.) I also think that this syntactic change may allow in future versions of Ruby to make (({def})), (({class})), (({module})) methods instead of keywords. Something like: 3.time puts "Hi!" end instead of 3.time do puts "Hi!" end I know this is not a good example, because for (({#times})) the block argument is optional. =end -- http://bugs.ruby-lang.org/