我正在试图弄清楚如何使用NSIS修改XML文件。所以我正在尝试学习如何使用XML插件。 forum page上的示例通常使用格式${plugin::command}
,如:
${xml::LoadFile}
文档没有表明您需要美元符号和花括号。据我了解,只需plugin::command
即可。所以我一直试图找出那种语法的含义。
文档说$是变量而{}是代码块,但我找不到任何关于它们在一起使用时的含义。我的互联网搜索显示,它用于JavaScript中的模板文字。但它在NSIS中意味着什么?
编辑:我应该提一下NSIS文档确实显示了这种语法的例子,特别是在Predefines部分,但它仍然没有解释语法的含义。
编辑:好的,现在我看到语法是让编译器使用!define
和!macro
替换内容。但是......这个具体案例怎么样?在这样的符号中使用冒号是否有效?为什么有些人写${xml::LoadFile}
而有些人只写xml::LoadFile
?
答案 0 :(得分:2)
这是一个!define
。这个插件有一个头文件来定义它。插件可能需要做多件事,所以他们用一个插入宏的定义包含几行。这个或它有一些插件调用的默认参数。无论哪种方式,它都试图用这种语法为你节省一些打字。