コード
class Student
def initialize(name)
@name = name
end
def avg(math, english)
return @name,(math + english)/2
end
attr_accessor :name
end
a001 = Student.new("sato")
p a001.name, a001.avg(30,70)
実行結果
"sato"
["sato", 50]
コード解説
a001 = Student.new("sato")
-
クラス名.new(引数)
により、引数を使ってにinitializeメソッドが実行され、インスタンスが生成される - インスタンスとはそのクラスに由来するオブジェクト
@name = name
-
@変数
はインスタンス変数と呼び、クラス内のどこでも参照できる - 何度も使うような変数を定義する
a001.avg(30,70)
-
インスタンス.クラス内で定義したメソッド
で処理ができる
attr_accessor :name
-
attr_accessor :インスタンス変数名
をクラス内に記述しておくことで、クラスの外でもインスタンス変数を参照できる
a001.name
-
attr_accesor
で指定しておいたので、インスタンス.インスタンス変数名
で、そのインスタンスが持つインスタンス変数にアクセスできる