インスタンスメソッド
クラスの中でメソッドを定義すると、そのメソッドはインスタンスメソッドとなります。
インスタンスメソッドは、そのクラスのインスタンスに対して呼び出すことができるメソッドです。
(例)
class User
def emotion
"Happy!"
end
end
user = User.new
user.emotion
結果
"Happy!"
インスタンス変数
クラス内では、インスタンス変数(同じインスタンス内で共有される変数)を使うことができます。
変数名は@から始まります。
(例)
class User
def initialize(emotion)
@emotion = emotion
end
def happy
"I am #{@emotion}."
end
end
user = User.new('Happy')
user.happy
結果
"I am Happy."
ローカル変数
メソッドやブロック内で作成される変数のことをいいます。
アルファベットの小文字、アンダースコアで始めます。
ローカル変数は参照する前に必ず=で値を代入して作成する必要があります。
(例)
class User
def initialize(emotion)
@emotion = emotion
end
def happy
shuffled_emotion = @emotion.chars.shuffle.join
"I am #{shuffled_emotion}."
end
end
user = User.new('Happy')
user.happy
この例の場合、ローカル変数はshuffled_emotionになります。
結果
"I am ayppH."