From: zverok.offline@... Date: 2019-09-18T11:49:05+00:00 Subject: [ruby-core:94956] [Ruby master Bug#16169] rescue in a method argument Issue #16169 has been updated by zverok (Victor Shepelev). @mame > Ruby allows to omit parentheses of method calls Oh, thanks! In fact, that was the piece of understanding I missed trying to catch how space- and spaceless-versions are different from PoW of the interpreter. The ticket could be closed, I just wanted to clarify things a bit. ---------------------------------------- Bug #16169: rescue in a method argument https://bugs.ruby-lang.org/issues/16169#change-81573 * Author: zverok (Victor Shepelev) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- At 2.4, #12686 was introduced, allowing code like this: ```ruby foo (Integer(ENV['FOO']) rescue nil) ``` Though, I noticed that in current Ruby correctness of this syntax depends on space after the method name: ```ruby foo (Integer(ENV['FOO']) rescue nil) # => OK foo(Integer(ENV['FOO']) rescue nil) # SyntaxError ((irb):4: syntax error, unexpected modifier_rescue, expecting ')') # foo(Integer(ENV['FOO']) rescue nil) # ^~~~~~ ``` I wonder, whether it is just a bug or a parser limitation (I can't guess which ambiguity the space-less version produces, but I could be missing something)?.. -- https://bugs.ruby-lang.org/ Unsubscribe: