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