以下のコードについて、2点質問をお願いします。
◆1つ目
8行目の if val の必要性が理解できないです。
このif valは何の役割がありますでしょうか?
◆2つ目
問題解説文
「13行目のc.valはattr_accessorよりアクセスされます。
initializeメソッドで初期化が行われていないため、nilが返されます。」
解説より答えは、選択肢4ですが、
7行目と8行目の間に @val = 0 などの記述があればよいのではと思っているのですが、認識があっていますでしょうか?
よろしくお願いします。
1: class C
2: @val = 3
3: attr_accessor :val
4: class << self
5: @val = 10
6: end
7: def initialize
8: @val *= 2 if val
9: end
10: end
11:
12: c = C.new
13: c.val += 10
14:
15: p c.val
選択肢1
13と表示される
選択肢2
16と表示される
選択肢3
20と表示される
選択肢4
エラーになる
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/18 00:43
2021/06/18 01:40