2014-03-13 28 views
1

您好,我對使用ruby編輯ini文件感興趣。我的意思是說,我想閱讀例如文件中的變量,更改其內容並將更改保存迴文件。我也想用乾淨的紅寶石方式進行編輯。有this relative gem,但據我瞭解它的功能,我無法打開文件,編輯其內容並保存到磁盤。我可以讀取現有文件或創建一個新文件。它可能可以通過合併功能完成?我不知道如何。用紅寶石編輯ini文件,首選乾淨的方式

+0

@Jesse西拉夫我知道這個問題,並沒有回答我。我想編輯一個文件並將更改保存到同一個文件中的磁盤上,他只想讀取一個我已經在做的ini文件 – Crone

回答

3

你說:

我瞭解它的功能,我無法打開文件,編輯其內容並保存回磁盤。

你可以做到這一點很容易:

require 'inifile' 

# Open and read the file 
ini = IniFile.load('my_file.ini') 

# Read its current contents 
puts ini['section1']['foo'] 

# Edit the contents 
ini['section1']['foo'] = 'baz' 

# Save it back to disk 
# You don't need to provide the filename, it remembers the original name 
ini.save 
+0

哦,所以它讀取內存中的整個文件,當我更改一個變量時,所有其他文件保持不變?所以當我保存它時,一次寫入所有內容? – Crone

+0

嗯,如果文件沒有部分,該怎麼辦?這是我的文件 http://pastebin.com/4c4WRGkC – Crone

+0

@Crone [「如果INI文件缺少任何節聲明,或者如果在第一節之前有屬性已被decalared,那麼這些屬性將被置於默認的」全局「部分。創建IniFile實例時可以配置本節的名稱。」](https://github.com/TwP/inifile#global-properties) – matt