在SketchUp Ruby API中加载* .ini文件失败

时间:2016-10-22 11:23:50

标签: ruby sketchup

我正在编写我的第一个SketchUp插件,我想在ini文件中存储一些选项。为此,我在SketchUp控制台中安装了IniFile Gem,插件目录中有以下options.ini文件:

[Options]
option1 = value1
option2 = value2

我有以下代码:

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

当我运行脚本时,由于某种原因,load方法无法加载ini文件,并且我在下一行遇到了运行时异常,试图访问NilClass对象上的“Options”:

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

以前有人遇到过同样的问题吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

我设法找到了问题。 Sketchup仅将插件存储在插件文件夹中,但它从Documents文件夹(在Windows上)调用它们。因此,不能在脚本中使用相对路径。添加以下内容解决了问题:

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