ruby を勉強しています。以下のコードで分からな

Writer: admin Type: clarksre Date: 2019-01-08 00:00
ruby を勉強しています。以下のコードで分からない点があります。module NameChanger def change_name self.name='アリス'endendclass User include NameChanger attr_accessor :name def initialize(name) @name=name endenduser=User.new('alice')p user.change_nameこのとき、実行結果がアリスとなるのですが、なぜ名前が変更されるのか分かりません。参考書にはセッターメソッド経由でデータを変更とありましたが、納得出来ませんでした。共感した0###attr_accessor :nameによってインスタンス変数 @name を読み書きするメソッド name と name= が定義されます。def name; return @name; enddef name=(arg); @name = arg; endというような内容だと思っておきましょう。change_name はそれを呼び出しました。ナイス0
###この質問は投票によってベストアンサーに選ばれました!###間違いななしナイス0

 

TAG