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
我们就创建了一个logvarX
并将其与(“实例化为”)1
统一起来。我们可以编写X=Y
,这将创建两个未实例化的logvarsX
和Y
。在函数和的初始定义中使用[1,2]
是否重要或必要?在我看来,这些函数似乎是为列表定义的,然后将Var
传递给它们,它统一到冗长乏味的To-type-atom。