2016-02-25 45 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

非常感謝 - 很好 –