我正在编写我的第一个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>
以前有人遇到过同样的问题吗?任何帮助表示赞赏!
答案 0 :(得分:2)
我设法找到了问题。 Sketchup仅将插件存储在插件文件夹中,但它从Documents文件夹(在Windows上)调用它们。因此,不能在脚本中使用相对路径。添加以下内容解决了问题:
conf = IniFile.load( File.dirname(__FILE__) + '/options.ini' )