Actions
Bug #16340
closedThere are cases where `eval("_ 1")` does not refer to Numbered parameter
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-11-11T10:03:43Z trunk 9d3213ac85) [x86_64-linux]
Backport:
Description
Steps to reproduce¶
- Define local variable
_1
outside block - Call Numbered parameter in block
- Call
eval("_1")
in same block
Expected behavior¶
_1 = :local_variable
proc {
_1
# return Numbered parameter(_1)
eval("_1") # => :argument
}.call :argument
Actual behavior¶
_1 = :local_variable
proc {
_1
# return local variables outside block
eval("_1") # => :local_variable
}.call :argument
This is strange behavior because I want to expect to reference _1
in block.
Note¶
- Return Numbered parameter if not define local variables outside block
# _1 = :local_variable
proc {
_1
# Actual behavior
# return Numbered parameter
eval("_1") # => :argument
}.call :argument
Actions
Like0
Like0Like0