中級 › private メソッドをレシーバ付きで呼ぶと NoMethodError になる › パターン2
private メソッドをレシーバ付きで呼ぶと NoMethodError になる
privateを付けたメソッドは、クラスの外からinstance.methodのようにレシーバを明示して呼び出すことができません。
1 class CoffeeMachine 2 def status 3 brew_report 4 end 5 6 private 7 8 def brew_report 9 "ready" 10 end 11 end 12 13 puts CoffeeMachine.new.___________ ^
main.rb:13:in `<main>': private method `brew_report' called for an instance of CoffeeMachine (NoMethodError)
空欄を埋めて実行を通す
外部から直接呼べるのはpublicなメソッドだけです。privateなメソッドは内部の呼び出しからしか使えません。
次の問題