我有一个包含许多静态方法的类。每个方法都必须调用一个公共方法,但我尽量不公开后一个方法。将其设置为私有将只允许从类的自己的实例进行访问?Protected似乎也不能解决这里的问题。
如何隐藏do_calc以避免在静态上下文中被外部调用?(使它可以从前两个静态方法中调用。)
class Foo
def self.bar
do_calc()
end
def self.baz
do_calc()
end
def self.do_calc
end
end
发布于 2015-04-20 09:58:25
您可以使用private_class_method
定义一个私有类方法,如下所示:
class Foo
def self.bar
do_calc
end
def self.baz
do_calc
end
def self.do_calc
#...
end
private_class_method :do_calc
end
发布于 2018-03-29 21:25:24
或者从Ruby 2.1开始:
class Foo
def self.bar
do_calc
end
private_class_method def self.do_calc
#...
end
end
https://stackoverflow.com/questions/29737435
复制相似问题