2016-02-25 70 views
0

嗨我想创建一个YML文件并将它们作为实例变量加载。我怎样才能做到这一点。Ruby Yaml - 直接从YML文件创建实例变量

+0

嗨@mu太短,你能发布链接到任何其他方法 ?我特别试图解决这个问题 - 我可以加载字符串值,而不是散列对象或数组等。它错误'不能将哈希转换为字符串(TypeError)'。 为什么它太宽泛或太多可能的答案。我的回答很短暂 –

回答

0

yml_File.yml文件::

default: 
    browserversion: 43 
dev: 
    browser_02: iexplore 
qa_01: 
    browser_default: chrome 
qa_02: 
    browser_default: safari 

检查下面的代码::

p yml_File = YAML.load_file(File.dirname(__FILE__).gsub('/', '\\') + '\\Profiles.yml')  
yml_File.each_key {|key_Value|  
    va = yml_File[key_Value].to_s 
    var_name = "@#{key_Value}" # the '@' is required 
    self.instance_variable_set(var_name, va) 
    p "Name of Instance variable '#{key_Value}' is :: " + var_name.to_s + ' - And Key value is : ' + eval("@#{key_Value}")  
} 

p @dev 
p @qa_01 
p @qa_02 

注 - 红宝石1.9+ ATLEAST

+0

非常感谢 - 很好 –