中級 › 初期化前のインスタンス変数を参照すると警告なしで nil になる › パターン5
初期化前のインスタンス変数を参照すると警告なしで nil になる
initializeで値を設定し忘れたインスタンス変数は、エラーにも警告にもならず単にnilとして扱われます。
1 class Order 2 def initialize(total) 3 ______ = total ^ 4 end 5 6 def show 7 puts "Total: #{@total}" 8 end 9 end 10 11 Order.new(999).show
出力: Total:
空欄を埋めて実行を通す
@の付け忘れは見た目がよく似ているため、コードを読むだけでは見落としやすいミスです。
次の問題