![如何从命令行将代码传递给渐近线?](https://linux22.com/image/454580/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B0%86%E4%BB%A3%E7%A0%81%E4%BC%A0%E9%80%92%E7%BB%99%E6%B8%90%E8%BF%91%E7%BA%BF%EF%BC%9F.png)
我想从 Windows 命令行将一些代码传递到 Asymptote。我在 Asymptote 手册中看到了命令行选项:
-u, -user string General purpose user string
我认为这是我应该使用的,因此我创建了一个如下 DOS 命令:
asy asyfile -u "int i = 5"
然后我的 asyfile.asy 文件包含write(i);
导致错误no matching variable 'i'
。有人知道这是否是该选项的预期用途吗-user
?还有其他命令行选项可以满足我的需要吗?谢谢!
答案1
我建议i
在 usersetting() 之前定义:
int i;
usersetting();
write(i);
这样,用户可以在命令行上输入asy asyfile -u i=5
或。asy asyfile
答案2
Marijn 的评论激励我阅读手册中“命令行选项”部分的其余部分。我发现我误用了该-u
选项。我需要usersetting();
向我的 asyfile.asy 文件添加一个命令。
asy asyfile -u "int i = 5"
如果我的 asyfile.asy 文件包含以下内容,则它可以按预期工作:
usersetting();
write(i);