SWI-Prolog中的谓词参数

时间:2019-05-29 20:14:08

标签: prolog

我在序言中有一个程序以文件路径作为参数。输入的例子可能是'a.txt','b.txt'等,所以让我说这段代码:

solve(file):-
   write(file).

这过于简化了,该谓词可以在许多不同的子谓词中使用文件。我的问题是:我希望通过查询solve('a.txt'),将a.txt作为参数传递(在这种情况下,它将打印a.txt)以在此谓词中使用。但是,似乎我写了solve(file)以外的任何内容。它会产生false。为什么会发生这种情况?参数必须是什么,以便我可以在谓词中成功传递“ a.txt”或“ b.txt”?

1 个答案:

答案 0 :(得分:0)

Prolog中的变量必须以大写字母开头。

  • 这是一个变量:File
  • 这只是一个原子:file

这样做:

solve(File) :-
    write(File).