Hey, guys !!
クラスメッドとインスタンスメソッドの書き方が自分の中でごちゃごちゃしてしまう為、メモの様に下に記す。
参考になるようならしてね:)
まずはクラスメソッドの主な書き方3つ...
①
class Foo
def self.bar
puts 'class method'
end
end
Foo.bar # "class method"
②
class Foo
class << self
def bar
puts 'class method'
end
end
end
Foo.bar # "class method"
③
class Foo; end
def Foo.bar
puts 'class method'
end
Foo.bar # "class method"
①はクラスメソッドがわかりやすく記載されている。 ②はrailsでよく書かれている! ③は自分ではあまりお目にかからないですが使われているらしい...
次はインスタンスメソッド!!
①
class Foo
def baz
puts 'instance method'
end
end
Foo.new.baz # "instance method"
②
class Foo
attr_accessor :baz
end
foo = Foo.new
foo.baz = 'instance method'
puts foo.baz
③
class Foo; end
foo = Foo.new
def foo.bar
puts 'instance method'
end
Foo.new.baz # "instance method"
うーん色々な書き方があるんだね