【发布时间】:2019-10-18 13:16:58
【问题描述】:
假设我在 app/lib 中有一个解析器模块 (parser.rb):
module Parsers
class XMLParser
def self.parse
"Parsing XML...."
end
end
class TXTParser
def self.parse
"Parsing TXT...."
end
end
end
我见过一些人这样称呼类:
@parse_xml = ::Parsers::XMLParser.parse
@parse_txt = ::Parsers::TXTParser.parse
代替:
@parse_xml = Parsers::XMLParser.parse
@parse_txt = Parsers::TXTParser.parse
两种方式都有效,那么有什么区别?此外,我还看到了将模块拆分为多个文件的情况,例如:
内部app/lib/parsers/xml_parser.rb:
module Parsers
class XMLParser
def self.parse
"Parsing XML...."
end
end
end
在app/lib/parsers/txt_parser.rb里面:
module Parsers
class TXTParser
def self.parse
"Parsing XML...."
end
end
end
这两个选项之间是否有任何区别(除了明显的...较小的文件)?
【问题讨论】:
标签: ruby-on-rails ruby module