我正在做一个 Ruby 项目。由于我正在学习,我正在尝试以正确的方式做事。我想解析一个简单的配置文件(param = value),这部分就完成了。现在我想做类似的事情:
class ConfigFile
def self.parse_file s
# gem parsing the file
ParseConfig.new(s)
end
parse_file "config.cfg"
end
puts ConfigFile::default_port
puts ConfilgFile::default_ip
# etc
事实上,我希望配置文件中的每个参数都可以像这样访问。这只是我的第一个想法,因为它看起来不错,而 ruby 似乎是一种可以做到这一点的语言。如果你有更好的主意,我接受;)(我也想到了一个愚蠢的哈希,但是写 ConfigFile::h[:default_ip] 很长)
我知道我应该在某处使用 attr_accessor 。但是我的元编程技能非常有限,所以如果有人可以分享一些关于这方面的信息,我将非常感激!
谢谢
日光
编辑1:
现在我已经这样做了,但这对我来说看起来不太好:
class EMMConfig
require 'parseconfig'
PATH = "config.cfg"
@@C = {}
def self.parse
@@C = ParseConfig.new(PATH)
end
def self.[](param)
@@C[param]
end
def self.list_param
@@C.get_params
end
parse
end