gpt4 book ai didi

bash - SWI Prolog 通过命令行参数传递一个非零参数的目标

转载 作者:行者123 更新时间:2023-11-29 09:11:01 25 4
gpt4 key购买 nike

SWI Prolog 允许在具有非零元数的顶级之前执行目标,如下所示

swipl -s consultingfile.pl -g start

然而,当具有非零元数的谓词被指定如下时

swipl -s consultingfile.pl -g start(1)

报错

syntax error near unexpected token '('

要在顶级之前将非零元数谓词作为目标传递,应该怎么做?

最佳答案

我认为这与 SWI-prolog 本身没有任何关系/关系不大,但更多的是与命令行处理程序有关。

如果我将目标放在单引号 ('') 之间,它会起作用:

swipl -s consultingfile.pl -g 'start(1)'

shell 可能错误地解释了括号。

如果我使用你的命令,它会给出:

$ swipl -s consultingfile.pl -g start(1)
bash: syntax error near unexpected token `('

不过请注意冒号前的 bash。这意味着从未真正将控制权交给 swipl,是 bash 提示括号。

一般来说,最好将项目放在引号中以便将内容分组为单个参数。

关于bash - SWI Prolog 通过命令行参数传递一个非零参数的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30698619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com