Bug #5776

irb のトップレベルで定義したメソッドが public になる

Added by hibariya (hi hibariya) 5 months ago. Updated 5 months ago.

[ruby-dev:<unknown>]
Status:Assigned Start date:12/19/2011
Priority:Normal Due date:
Assignee:keiju (Keiju Ishitsuka) % Done:

0%

Category:lib
Target version:2.0.0
ruby -v:ruby 2.0.0dev (2011-12-15 trunk 34056) [x86_64-darwin11.2.0]

Description

irb のトップレベルで定義したメソッドの呼び出し制限が private ではなく public になってしまいます。 ------------------------------------------------- irb(main):001:0> def greeting irb(main):002:1> 'hi' irb(main):003:1> end => nil irb(main):004:0> val = Object.new => #<Object:0x007fe6ca05fd80> irb(main):005:0> val.greeting => "hi" irb(main):006:0> val.private_methods.grep /greeting/ => [] irb(main):007:0> val.public_methods.grep /greeting/ => [:greeting] ------------------------------------------------- public になるのは irb で実行したときのみです(ファイルに保存して ruby コマンドで実行した場合は private メソッドとして定義されます)。

History

Updated by ayumin (Ayumu AIZAWA) 5 months ago

  • Category set to lib
  • Status changed from Open to Assigned
  • Assignee set to keiju (Keiju Ishitsuka)
  • Target version set to 2.0.0
1.9.3-p0でも再現することを確認しました。

Also available in: Atom PDF