Project

General

Profile

Actions

Bug #15672

closed

Lambda implicit arguments, differences between lambda {} and -> {} specifications

Added by takeshinoda (Takeshi Shinoda) about 5 years ago. Updated about 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-03-18 trunk 67291) [x86_64-darwin18]
[ruby-core:91859]

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 shevegen (Robert A. Heiler) about 5 years ago

Koichi said it will be fixed. :)

(I guess this was never intentional, thus a bug.)

Actions #3

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]
Actions #4

Updated by nobu (Nobuyoshi Nakada) about 5 years ago

Hanmac (Hans Mackowiak) wrote:

Duplicate of #15620

It is irrelevant.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0