我想要一个 ruby 类,其中我需要的所有方法都是类方法,因此我将它们定义为def self.method_name
,现在所有方法都定义为self.
是否有任何方法可以避免编写self.
,并一次性将所有方法声明为类级别.
一种是将它们放在一个模块中并让类扩展它。
还有什么?
我想要一个 ruby 类,其中我需要的所有方法都是类方法,因此我将它们定义为def self.method_name
,现在所有方法都定义为self.
是否有任何方法可以避免编写self.
,并一次性将所有方法声明为类级别.
一种是将它们放在一个模块中并让类扩展它。
还有什么?
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>