From: hsbt@... Date: 2019-12-29T13:13:15+00:00 Subject: [ruby-dev:50905] [Ruby master Feature#14855] Binding#irb の中では、呼び出し元の __FILE__ と __dir__ をとりたい Issue #14855 has been updated by hsbt (Hiroshi SHIBATA). Status changed from Assigned to Closed https://github.com/ruby/ruby/pull/1896 has been merged. ---------------------------------------- Feature #14855: Binding#irb の中では、呼び出し元の __FILE__ と __dir__ をとりたい https://bugs.ruby-lang.org/issues/14855#change-83535 * Author: takkanm (三村 益隆) * Status: Closed * Priority: Normal * Assignee: aycabta (aycabta .) * Target version: ---------------------------------------- 現在、Binding#irb の中で呼び出した __FILE__ と __dir__ が irb で設定されたもののままとなっています。 これだと、ソースコード中に埋め込んで試す際に不便なので、実際のソースコードのファイルが読み取れるとうれしいです。 そのパッチとして https://github.com/ruby/ruby/pull/1896 を作りました。 現時点は以下のようになります。 ``` $ cat binding_irb.rb binding.irb $ ruby binding_irb.rb From: binding_irb.rb @ line 1 : => 1: binding.irb irb(main):001:0> __FILE__ => "(irb)" irb(main):002:0> __dir__ => "." ``` このパッチを適用すると以下のようになります。 ``` $ ruby binding_irb.rb From: binding_irb.rb @ line 1 : => 1: binding.irb irb(main):001:0> __FILE__ => "/Users/takkanm/tmp/binding_irb.rb" irb(main):002:0> __dir__ => "/Users/takkanm/tmp" irb(main):003:0> ``` -- https://bugs.ruby-lang.org/