中級 › 初期化前のインスタンス変数を参照すると警告なしで nil になる › パターン1
初期化前のインスタンス変数を参照すると警告なしで nil になる
initializeで値を設定し忘れたインスタンス変数は、エラーにも警告にもならず単にnilとして扱われます。
1 class Account 2 def initialize(balance) 3 ________ = balance ^ 4 end 5 6 def show 7 puts "Balance: #{@balance}" 8 end 9 end 10 11 Account.new(500).show
出力: Balance:
空欄を埋めて実行を通す
@を付けずに代入するとローカル変数になり、initializeを抜けた時点で消えます。@balanceは初期化されないままnilで残ります。
次の問題