本記事はまだ更新の可能性があります。
※2020/5/14時点
・attr_accessorメソッド
・インスタンス変数(メソッド内で定義するself)
これらの関連性と整理を追求する記事です。
出発点はメソッド内で
@変数名やself.変数名などの使い方がややこしすぎて
わけがわからなくなってしまったので始めています。
各種の初心者用説明サイトなどでは個別には説明されているものの
両方を混ぜ込んだコードでの説明はあまり見つけられませんでしたので
ここで自分の備忘録としても記載したく思います。
本記事は、なんとなく整理ができた成果物としてのコードを載せております。
それぞれの考察に関しては
上記の2つの記事を参照ください。
混ぜ込んだコードとコンソールでの吐き出しを順に記載します。
class Alcohl
attr_accessor :name
def initialize(hobby)
@hobby=hobby
end
def my_hobby
puts "私の好きなのは#{@hobby}"
puts "でも大切なのは#{self.name}"
end
def wisky
"飲みづらいのは#{@hobby}"
end
end
alc=Alcohl.new("酒")
alc.name="オリオンビール"
alc.my_hobby
alc2=Alcohl.new("ウイスキー")
puts alc2.wisky
ec2-user:~/environment/ruby_lessons $ ruby hello.rb
私の好きなのは酒
でも大切なのはオリオンビール
飲みづらいのはウイスキー
以上です。
コードとしては汚いのかもしれませんが(それすらわからないのですが)、
とりあえず網羅性を意識しました。
いったん、こちらで整理とします。