LoginSignup
1
0

More than 3 years have passed since last update.

Ruby:インスタンス変数(attr_accessorとself)に関して

Last updated at Posted at 2020-05-14

本記事はまだ更新の可能性があります。
※2020/5/14時点


・attr_accessorメソッド
・インスタンス変数(メソッド内で定義するself)


これらの関連性と整理を追求する記事です。

出発点はメソッド内で
@変数名やself.変数名などの使い方がややこしすぎて
わけがわからなくなってしまったので始めています。

各種の初心者用説明サイトなどでは個別には説明されているものの
両方を混ぜ込んだコードでの説明はあまり見つけられませんでしたので
ここで自分の備忘録としても記載したく思います。

本記事は、なんとなく整理ができた成果物としてのコードを載せております。

それぞれの考察に関しては

attr_accessorメソッドについて

メソッド定義の中における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
私の好きなのは酒
でも大切なのはオリオンビール
飲みづらいのはウイスキー

以上です。

コードとしては汚いのかもしれませんが(それすらわからないのですが)、
とりあえず網羅性を意識しました。

いったん、こちらで整理とします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0