Project

General

Profile

Actions

Bug #18837

closed

Not possible to evaluate expression with numbered parameters in it

Added by hurricup (Alexandr Evstigneev) over 2 years ago. Updated over 2 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:108983]

Description

I presume it's not really a bug, but design flaw, but this is really frustrating. Use case is - debugger.

Here is script with expected behavior:

def dumper(bnd)
  puts bnd.local_variable_get 'i'
  puts bnd.eval 'i * 10'
end

[1,2].each { |i| dumper(binding) }

And this one attempts to do the same with numbered params:

def dumper(bnd)
  puts bnd.local_variable_get('_1')
  puts bnd.eval '_1 * 10'
end

[1,2].each do
  some = _1  # without this line even local_variable_get won't work, still it may be in any place of block
  dumper(binding)
end

But eval wont ever work and this necessity for using _1 so binding could see it may be confusing as well.


Related issues 3 (1 open2 closed)

Related to Ruby master - Feature #15915: `@1` cannot be achieved in meta-programmingClosedActions
Related to Ruby master - Feature #19137: Numbered parameters are not made available to IRB.OpenActions
Has duplicate Ruby master - Bug #20308: `it` and numbered parameters do not work in `eval`ClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0