From: eregontp@... Date: 2017-01-05T23:16:55+00:00 Subject: [ruby-core:78984] [Ruby trunk Bug#13099] Binding#irb does not work outside of irb Issue #13099 has been updated by Benoit Daloze. Nobuyoshi Nakada wrote: > You have to `require "irb"` by yourself. > No plan to autoload "irb" by `binding.irb` now. I also expected from the description in NEWS that Binding#irb would automatically require irb. That would be really useful as a debugging tool, as it would literally mean adding "binding.irb" and no need for extra code. ---------------------------------------- Bug #13099: Binding#irb does not work outside of irb https://bugs.ruby-lang.org/issues/13099#change-62399 * 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 # (NoMethodError) from binding_test.rb:11:in `new' from binding_test.rb:11:in `
' ~~~ 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 `
': undefined method `irb' for # (NoMethodError) ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: