有没有办法在类ruby中声明本地方法?
我可以声明实例方法有没有办法在类ruby中声明本地方法?,ruby,Ruby,我可以声明实例方法 def method_name ... 我可以声明类方法 def self.method_name ... 但我如何在类中声明内部私有本地方法或不可能声明内部私有本地方法?这样它们就不能像这样被Class.method\u name或Class.new.method\u name访问。您可以声明私有实例方法并添加private关键字。以下每个方法都是私有的: class Foo private def bar #... end end 要创建私有类方
def method_name ...
我可以声明类方法
def self.method_name ...
但我如何在类中声明内部私有本地方法或不可能声明内部私有本地方法?这样它们就不能像这样被
Class.method\u name
或Class.new.method\u name
访问。您可以声明私有实例方法并添加private
关键字。以下每个方法都是私有的:
class Foo
private
def bar
#...
end
end
要创建私有类方法,需要使用private\u class\u方法
方法:
class Foo
def self.bar
#...
end
private_class_method :bar
end
您可以声明私有实例方法并添加
private
关键字。以下每个方法都是私有的:
class Foo
private
def bar
#...
end
end
要创建私有类方法,需要使用private\u class\u方法
方法:
class Foo
def self.bar
#...
end
private_class_method :bar
end
你可以使用private关键字, 大概是这样的:
private
def mehtod_name ...
另一种方式是:
private_class_method :method_name, :other_method_name
你可以使用private关键字, 大概是这样的:
private
def mehtod_name ...
另一种方式是:
private_class_method :method_name, :other_method_name
…如果您已经将
bar
定义为public(或protected),则可以使用该方法将其私有化:private(:bar)
或private(“bar”)
。此外,由于Ruby 2.0def
将方法名称作为符号返回,因此您可以执行private def bar;结束
和私有类方法定义self.bar;结束
…如果您已经将bar
定义为public(或protected),您可以使用该方法将其私有化:private(:bar)
或private(“bar”)
。另外,由于Ruby 2.0def
将方法名称作为符号返回,因此您可以执行private def bar;结束
和私有类方法定义self.bar;结束
。如果您发现其中任何一个答案有用,请不要忘记选择答案。如果您发现其中任何一个答案有用,请不要忘记选择答案。