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