Rubyのクラスとメソッド
この時点では特段注意点はない。
クラスの名前は大文字ではじめる必要がある。
Rubyのアクセスメソッド
class User attr_accessor :name def initialize(name) @name = name end def sayHi puts "hi i am #{@name}" end end
#アクセスメソッドの呼び出し → アクセサを使ってインスタンス変数を書き換えたり、参照したりする
tom.name=(“tom_jr”)#インスタンス変数の書き換え(「name=()メソッド」)
p tom.name#インスタンス変数の参照(nameメソッド)
name=は式ではな「name=」というメソッドある点に注意「(“tom_jr”)」とはname=メソッドの引数です。なぜこのようなわかりにくい表現にしたのかは不明。
まとめ
アクセサの元の形は画像に示していますが、以下が大事です。
- インスタンス変数の値を参照する「name」というメソッドと
- インスタンス変数の値を変更する「name=」というメソッドがあります。
attr_accesor :nameとすることで上記の2つのメソッドを自動生成したことになります。
インスタンスという表現もわかりにくくまたアクセスメソッドの表現もわかりにくいです。そしてインスタンス変数という概念も絡んできます。
コメント