"Ruby" クラスメソッドとインスタンスメソッドの書き方(例示)
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"
うーん色々な書き方があるんだね