Issue #13099 has been updated by Shyouhei Urabe.


Silently requiring something reminds me of multi-threaded autoload situation.  Is it OK?

----------------------------------------
Bug #13099: Binding#irb does not work outside of irb
https://bugs.ruby-lang.org/issues/13099#change-62401

* Author: Eli Sadoff
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
I had read that one of the new features of 2.4.0 is that `Binding#irb` is now a method, so I decided to test this out in a program I was working on. Here is the program

~~~ ruby
class Test
  attr_accessor :x, :y, :z
  def initialize(x, y, z)
    @x = x
    @y = y
    binding.irb
    @z = z
  end
end

a = Test.new(1, 2, 3)
~~~

And the error that I got is

~~~
binding_test.rb:6:in `initialize': undefined method `irb' for #<Binding:0x007f8562025078> (NoMethodError)
	from binding_test.rb:11:in `new'
	from binding_test.rb:11:in `<main>'
~~~

So, I thought that maybe it was an issue with running it in a constructor, so I tried the simpler invocation

~~~ ruby
binding.irb
~~~

but I had a problem with that as well, with a very similar error message

~~~
bind.rb:1:in `<main>': undefined method `irb' for #<Binding:0x007ff34984e880> (NoMethodError)
~~~
	




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>