我对 prolog 很困惑,它与我曾经使用过的任何语言(多种语言)都不一样,我如何从以下位置获取 argv[0]:
current_prolog_flag(argv, Argv),
write(Argv).
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试输入 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'].
Run Code Online (Sandbox Code Playgroud)
这匹配一个带有头部和尾部的列表:
[Head | Tail]
Run Code Online (Sandbox Code Playgroud)
Head 是第一个元素,Tail 是列表的其余部分。
要获取最后一个元素,请使用:
?- current_prolog_flag(argv, Argv), append(_, [Last], Argv).
Argv = ['C:\\Program Files\\pl\\bin\\swipl-win.exe', '--win_app'],
Last = '--win_app'
Run Code Online (Sandbox Code Playgroud)
要获取有关 append 等函数的帮助:
apropos(append).
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2930 次 |
| 最近记录: |