Actions
Bug #15672
closedLambda implicit arguments, differences between lambda {} and -> {} specifications
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-03-18 trunk 67291) [x86_64-darwin18]
Description
Hi
Are the following differences intentional?
$ ruby -v
ruby 2.7.0dev (2019-03-18 trunk 67291) [x86_64-darwin18]
$ cat ptn1.rb
a = -> { p @1 }
a.call(1)
$ ruby ptn1.rb
Traceback (most recent call last):
1: from ptn1.rb:2:in `<main>'
ptn1.rb:1:in `block in <main>': wrong number of arguments (given 1, expected 0) (ArgumentError)
$ cat ptn2.rb
a = lambda { p @1 }
a.call(1)
$ ruby ptn2.rb
1
thanks
Updated by Hanmac (Hans Mackowiak) about 5 years ago
Duplicate of #15620
Updated by shevegen (Robert A. Heiler) about 5 years ago
Koichi said it will be fixed. :)
(I guess this was never intentional, thus a bug.)
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r67295.
parse.y: numbered parameter in lambda
- parse.y (lambda): support numbered parameters, only when no
argument list including empty parentheses, like empty vertical
bars. [ruby-core:91859] [Bug #15672]
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
Actions
Like0
Like0Like0Like0Like0