3
我想要一個ruby類,其中我需要的所有方法都是類方法,因此我將它們定義爲,現在所有方法都定義爲self.
任何避免編寫self.
的方法,並且一次將所有方法聲明爲類級別。什麼方法來定義ruby中的類級別方法
一個是把它們放在一個模塊中,讓這個類擴展它。
還有什麼?
我想要一個ruby類,其中我需要的所有方法都是類方法,因此我將它們定義爲,現在所有方法都定義爲self.
任何避免編寫self.
的方法,並且一次將所有方法聲明爲類級別。什麼方法來定義ruby中的類級別方法
一個是把它們放在一個模塊中,讓這個類擴展它。
還有什麼?
class Foo
class << self
def class_method_name1
end
def class_method_name2
end
end
def instance_method_name1
end
def self.class_method_name3
end
end
class Foo
def self.bar
puts 'class method'
end
def baz
puts 'instance method'
end
end
Foo.bar # => "class method"
Foo.baz # => NoMethodError: undefined method ‘baz’ for Foo:Class
Foo.new.baz # => instance method
Foo.new.bar # => NoMethodError: undefined method ‘bar’ for #<Foo:0x1e820>