gpt4 book ai didi

swi-prolog - 解析命令行参数

转载 作者:行者123 更新时间:2023-12-05 00:30:52 27 4
gpt4 key购买 nike

我对 prolog 很困惑,它与我曾经使用过的任何语言(多种语言)都不同,我如何从以下位置获取 argv[0]:

current_prolog_flag(argv, Argv),
write(Argv).

现在,如果我尝试输入 Argv[0] 或 Argv(0) 或 Argv<0> 它会失败..这让我没有任何线索,文档也几乎没有帮助..似乎他们希望你已经是序言专家:D

另一个问题,我如何将 Argv[0] 分配给一个变量,以便稍后使用“write”打印它?

最佳答案

Prolog 使用匹配。

?- current_prolog_flag(argv, [File | Rest]).
File = 'C:\\Program Files\\pl\\bin\\swipl-win.exe',
Rest = ['--win_app'].

这匹配一个带有头部和尾部的列表:
[Head | Tail]

Head 是第一个元素,Tail 是列表的其余部分。

要获取最后一个元素,请使用:
?- current_prolog_flag(argv, Argv), append(_, [Last], Argv).
Argv = ['C:\\Program Files\\pl\\bin\\swipl-win.exe', '--win_app'],
Last = '--win_app'

要获取有关 append 等函数的帮助:
apropos(append).

关于swi-prolog - 解析命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725670/

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