Rubyのインスタンスメソッドなどの整理
- Feb 13, 2019
- Ruby
rubyわからない。だがしかし、わからなければこの先生き残れない。
今日会社の人にRubyを教えていたのだが、実は自分がわかってないことがわかったので勉強したことをまとめておく。
わからなかったことは以下の3点だ。
- クラス変数(メソッド)
- インスタンス変数(メソッド)
- クラスインスタンス変数(メソッド)
調べたところ、Qiitaで良さげな記事があった。
実際に書いてみるとこんな感じだろう。
class Cat
@@name = "bbbbb" # class variable
@class_instance_var = "class instance var: cat" # class instance variable
def initialize
@name = "aaaaa" # instance variable
end
def hoge # instance method
puts "instance method: hoge"
puts @name
end
def self.hoge # class method
puts "class method: hoge"
puts @@name
end
def self.say # class instance method
puts "say: #{@class_instance_var}"
end
end
class Foo < Cat
@class_instance_var = "class instance var: foo"
end
meow = Cat.new
meow.hoge # instance method
Cat.hoge # class method
Cat.say # class instance var: cat
Foo.say # class instance var: foo
class method
は php
で言うところの static method
だろう。
人に教えられる程度には詳しくなっておく必要があるのでちゃんと勉強しておかねば。