- 作者: Peter J. Jones,arton,長尾高弘
- 出版社/メーカー: 翔泳社
- 発売日: 2015/01/09
- メディア: 大型本
- この商品を含むブログ (13件) を見る
「項目8 サブクラスを初期化するときにはsuperを呼び出そう」は、そのまんまで
子クラスでinitializeメソッドを描く場合はoverrideされちゃうから、superを呼ぼうねという話でした(簡単なのでskip)。
以下本題。
項目9 Rubyの最悪に紛らわしい構文に注意しよう
これは、Ruby初心者なら誰しも引っ掛かる話ですね。
class Name attr_accessor(:first, :last) def initialize(first, last) # ここは必要 self.first = first self.last = last end def full # ここは不要 first + " " + last end end
覚えておくべき事項
- セッターメソッドは、明示的にレシーバを指定しなければ呼び出せない。レシーバがなければ、変数の代入と解釈されてしまう。
- インスタンスメソッドからセッターメソッドを呼び出すときには、レシーバとしてselfを使う
- セッター以外のメソッドを呼び出すときには、明示的にレシーバを指定する必要はない、selfでコードを汚さないようにしよう。