List 使用变量来表示参数?

List 使用变量来表示参数?,list,List,如果我有大量的参数列表,比如: program :- function(bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh), another_function(bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh). 我可以做一些类似于: program :- var = bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh function(var), another_functio

如果我有大量的参数列表,比如:

program :-
    function(bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh),
    another_function(bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh).
我可以做一些类似于:

program :-
    var = bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh
    function(var),
    another_function(var).

是的,您可以在Prolog中这样做

但是你需要

  • var=..
    行末尾添加一个
  • 变量名称使用大写的第一个字母
这项工作:

function([1, 2]).
another_function([1, 2]).

program :-
    Var = bxcjhbxhcbdbhbxzhbfhxhfbghfghjdfhgxfh,
    function(Var),
    another_function(Var).

这正是我在问题中使用的语法??是的,但您需要在
var=…
行的末尾添加一个
。键入:
bxcjhbxhcdbbbxzhbfhffghfghhjdfhgxfh
是一个单变量now@peroni_santo不,Var必须以大写字母开头,这一点非常重要,因为任何逻辑变量都必须以大写字母开头
Var=data
不是一个声明,它是名为
Var
data
的逻辑变量的统一。逗号
后表示
;您还可以使用
在那里,它代表
。Logvars本身就存在,可以是非实例化的,也可以是实例化的。只需编写
X=1
我们就创建了一个logvar
X
并将其与(“实例化为”)
1
统一起来。我们可以编写
X=Y
,这将创建两个未实例化的logvars
X
Y
。在
函数和
的初始定义中使用
[1,2]
是否重要或必要?在我看来,这些函数似乎是为列表定义的,然后将
Var
传递给它们,它统一到冗长乏味的To-type-atom。