ruby
1class Person 2 def initialize(name) 3 @name = name 4 end 5 6 attr_accessor :name 7 8 def name=(name) 9 @name = "Ms.#{name}" 10 end 11end
上記のクラスをコンソールで実行すると、コンストラクタで代入メソッドname=
が呼び出されていないことが分かります。これの理由が分かりません。また、initializeの中でname=
を実行させるにはどうすればいいでしょうか?
ご回答、よろしくお願い致します。
[1] pry(main)> require './test.rb' => true [2] pry(main)> p = Person.new('taro') => #<Person:0x007f9e9a00b870 @name="taro"> [3] pry(main)> p.name => "taro" [4] pry(main)> p.name = "mako" => "mako" [5] pry(main)> p.name => "Ms.mako"
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/06 07:43
2015/09/06 08:16
2015/09/07 03:43