我正在使用 ANSYS Fluent 程序进行 CFD 模拟。这个程序允许使用所谓的日志文件对模拟设置进行部分自动化,我刚刚知道这个日志文件是用 Scheme 编写的。不幸的是,我什至从未听说过 Scheme,我只知道它是一种 Lisp 方言(我也一无所知)。
我试图通过使用循环自动为我的模拟设置一堆参数来自动化一些无聊的任务。如果我从 Fluent 的命令界面运行此命令:
(cx-gui-do cx-set-list-selections "Boundary Conditions*Table1*List2(Zone)" '( 4))
它执行预期的操作(它从列表中选择第 4 项)。但是,如果我将其放入循环中:
(do ((z 4 (+ z 1))) ((> z 27))
(cx-gui-do cx-set-list-selections "Boundary Conditions*Table1*List2(Zone)" '( z))
)
#f
没有任何反应,程序在命令窗口中打印 a 。然后,如果我这样做:
(define z 4)
(cx-gui-do cx-set-list-selections "Boundary Conditions*Table1*List2(Zone)" '( z))
什么都没有发生。
为什么用 4
变量替换数字不起作用?为什么循环返回一个#f
?