我需要为我的测试读取带有输入参数的文件。但是,我不想将文件的名称硬编码到代码中。 如何从命令行为已编译的e代码指定文件的名称? 是否有另一种方法来加载e代码?为什么这对编译代码不起作用?
答案 0 :(得分:1)
通用解决方案是使用新的sn_plus机制。 从命令行添加类似+ my_file = filename
的内容从代码中,您可以使用特殊函数sn_plusargs_exist访问参数,以检查是否存在此类参数,并使用sn_plus_value读取其值。
另一种解决方案是使用-c标志从命令行传递filename作为define,并在代码中读取使用该定义命名的文件。
但是,它不适用于编译的e代码,因为已经在编译时计算了定义。
答案 1 :(得分:0)
您可以在代码中使用sn_plusargs_value()和sn_plusargs_exist()。 现在,您可以通过命令行传递参数文件,而无需重新编译您的电子代码。
答案 2 :(得分:0)
或者,您可以使用
设置环境变量并在电子代码中检索其值var filename := get_symbol("<VAR>")