From: nobu@...
Date: 2017-01-04T07:06:07+00:00
Subject: [ruby-core:78967] [Ruby trunk Bug#13099][Rejected] Binding#irb does not work outside of irb

Issue #13099 has been updated by Nobuyoshi Nakada.

Status changed from Open to Rejected

You have to `require "irb"` by yourself.
No plan to autoload "irb" by `binding.irb` now.

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

* 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>