中級 › private メソッドをレシーバ付きで呼ぶと NoMethodError になる › パターン4
private メソッドをレシーバ付きで呼ぶと NoMethodError になる
privateを付けたメソッドは、クラスの外からinstance.methodのようにレシーバを明示して呼び出すことができません。
1 class Printer 2 def status 3 ink_level 4 end 5 6 private 7 8 def ink_level 9 "50%" 10 end 11 end 12 13 puts Printer.new._________ ^
main.rb:13:in `<main>': private method `ink_level' called for an instance of Printer (NoMethodError)
空欄を埋めて実行を通す
privateなメソッドにアクセスしたい場合は、そのメソッドを呼び出すpublicなメソッドを経由する必要があります。
次の問題