Ruby 在程序启动时加载或写入设置

Ruby 在程序启动时加载或写入设置,ruby,Ruby,数据是通过以下方式生成的: def checkConfigurationsFile 如果File.exist?(“/prefs/settings.conf”)==true configFile=File.read(“./prefs/settings.conf”) options=JSON.parse(配置文件) configData={:multithreading=>options['multithreading'], :systemCores=>options['systemCores']}

数据是通过以下方式生成的:

def checkConfigurationsFile
如果File.exist?(“/prefs/settings.conf”)==true
configFile=File.read(“./prefs/settings.conf”)
options=JSON.parse(配置文件)
configData={:multithreading=>options['multithreading'],
:systemCores=>options['systemCores']}
主菜单()
elsif File.exist?(“/prefs/settings.conf”)==false
configData={:multithreading=>false,
:systemCores=>1}
configFile=File.open(“./prefs/settings.conf”,“w”)
configFile.write(JSON.pretty_生成(configData))
configFile.close
checkConfigurationsFile()
其他的
“出了严重的问题!”
结束
结束
这是一个设置菜单:

def openPreferences

puts如果您不想到处传递配置,那么您需要将其设置为全局。有几种方法可以做到这一点

例如,只需将所有
configData
替换为
$configData
。轰,搞定了。但这可能是不赞成的

或者,更“专业”的方法是使用某种全局单例配置对象

大概是这样的:

class ConfigData
  class << self
    attr_accessor :multi_threading, :system_cores
  end
end

你让我开心。谢谢你!
# write at startup
ConfigData.system_cores = options['systemCores']

# read in another place
ConfigData.system_cores