如何从命令行将代码传递给渐近线?

如何从命令行将代码传递给渐近线?

我想从 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);

相关内容