diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-25 13:01:03 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-25 13:01:03 +0900 |
commit | 55e1e22b2d44a8a1eca0f6ed2b11dc0f564f7192 (patch) | |
tree | fe3b2dc4f3e1a749e57b2cd8f46f4227e0a425b5 /test | |
parent | e663299a5f7a980aae39f3e87cec064ae19a870c (diff) |
Changed numbered parameters semantics
* `_1` (and no other numbered parameters) to work as `|x|`.
* giving up `_0`.
[ruby-core:95074] [Bug #16178]
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_syntax.rb | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 61bee816b6..a64d25845a 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -1442,33 +1442,23 @@ eom assert_valid_syntax('proc {_1}') assert_equal(3, eval('[1,2].then {_1+_2}')) assert_equal("12", eval('[1,2].then {"#{_1}#{_2}"}')) - assert_equal([1, 2], eval('[1,2].then {_0}')) + assert_equal([1, 2], eval('[1,2].then {_1}')) assert_equal(3, eval('->{_1+_2}.call(1,2)')) assert_equal(4, eval('->(a=->{_1}){a}.call.call(4)')) assert_equal(5, eval('-> a: ->{_1} {a}.call.call(5)')) - assert_syntax_error('proc {|| _0}', /ordinary parameter is defined/) assert_syntax_error('proc {|| _1}', /ordinary parameter is defined/) assert_syntax_error('proc {|;a| _1}', /ordinary parameter is defined/) assert_syntax_error("proc {|\n| _1}", /ordinary parameter is defined/) assert_syntax_error('proc {|x| _1}', /ordinary parameter is defined/) - assert_syntax_error('proc {_0+_1}', /implicit parameter is used/) - assert_syntax_error('proc {_1+_0}', /numbered parameter is used/) assert_syntax_error('proc {_1; proc {_2}}', /numbered parameter is already used/) assert_syntax_error('proc {proc {_1}; _2}', /numbered parameter is already used/) - assert_syntax_error('proc {_0; proc {_1}}', /implicit parameter is already used/) - assert_syntax_error('proc {proc {_0}; _1}', /implicit parameter is already used/) - assert_syntax_error('->(){_0}', /ordinary parameter is defined/) assert_syntax_error('->(){_1}', /ordinary parameter is defined/) assert_syntax_error('->(x){_1}', /ordinary parameter is defined/) assert_syntax_error('->x{_1}', /ordinary parameter is defined/) assert_syntax_error('->x:_2{}', /ordinary parameter is defined/) assert_syntax_error('->x=_1{}', /ordinary parameter is defined/) - assert_syntax_error('-> {_0+_1}', /implicit parameter is used/) - assert_syntax_error('-> {_1+_0}', /numbered parameter is used/) assert_syntax_error('-> {_1; -> {_2}}', /numbered parameter is already used/) assert_syntax_error('-> {-> {_1}; _2}', /numbered parameter is already used/) - assert_syntax_error('-> {_0; -> {_1}}', /implicit parameter is already used/) - assert_syntax_error('-> {-> {_0}; _1}', /implicit parameter is already used/) assert_warn(/`_1' is used as numbered parameter/) {eval('proc {_1 = nil}')} assert_warn(/`_2' is used as numbered parameter/) {eval('_2=1')} end |