2016-10-22 62 views
0

我正在寫我的第一個SketchUp插件,並且我想在ini文件中存儲一些選項。爲此,我在SketchUp控制檯安裝INIFILE寶石和我在Plugins目錄下面的文件options.ini:在SketchUp中加載* .ini文件失敗Ruby API

[Options] 
option1 = value1 
option2 = value2 

而且我有以下代碼:

conf = IniFile.load('options.ini') 
options = conf["Options"] 

當我運行劇本,出於某種原因,負載方法不能加載ini文件,和我的下一行運行時異常,對試圖訪問一個NilClass對象「選項」:

Error: #<NoMethodError: undefined method `[]' for nil:NilClass> 

有somebod你以前有同樣的問題嗎?任何幫助表示讚賞!

+0

腳本如何知道在哪裏可以找到ini文件?您需要提供ini文件的正確路徑。 – Casper

+0

它與腳本文件位於同一文件夾中。我也嘗試過使用'./options.ini',但那不起作用。 –

回答

2

我設法找到了問題。 Sketchup只將插件存儲在插件文件夾中,但它從Documents文件夾(在Windows上)調用它們。因此,在腳本中不能使用相對路徑。添加以下解決了問題:

conf = IniFile.load(File.dirname(__FILE__) + '/options.ini')