我有一个相当大的类,它有很多功能,由以下内容组成:
将类拆分为多个文件,同时将3种公共方法保留在初始文件中,而不使私有实现可被整个应用程序访问,最佳选择是什么?
发布于 2019-04-24 13:52:13
正如注释中所建议的,您可以重新打开类,只需定义私有方法。
或者,您可以定义一个模块并将其包含在您的类中:
module FooPrivate
private
def greet
'hello'
end
end
class Foo
include FooPrivate
def hello
greet
end
end上述行动如下:
irb> Foo.new.greet
NoMethodError (private method `greet' called for #<Foo:0x00007f83ba04bd58>)
irb> Foo.new.hello
=> "hello"https://stackoverflow.com/questions/55829597
复制相似问题