Project

General

Profile

Actions

Bug #15672

closed

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

Bug #15672: Lambda implicit arguments, differences between lambda {} and -> {} specifications

Added by takeshinoda (Takeshi Shinoda) over 6 years ago. Updated over 6 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) over 6 years ago Actions #2 [ruby-core:91866]

Koichi said it will be fixed. :)

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

Updated by nobu (Nobuyoshi Nakada) over 6 years ago Actions #3

  • 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) over 6 years ago Actions #4

Hanmac (Hans Mackowiak) wrote:

Duplicate of #15620

It is irrelevant.

Actions

Also available in: PDF Atom