Prolog 将常数连接到变量
是否可能在同一个参数中关联共因变量和变量? 例如:Prolog 将常数连接到变量,prolog,Prolog,是否可能在同一个参数中关联共因变量和变量? 例如: expression(N):- write(t N), N1 is N+1, expression(N1). 其中tn变成t1,t2,t3。。。等等。如何执行此操作?在SWI序言中: expression(N) :- atom_concat('t', N, TN), % Note: N must be instantiated in this case write(TN),
expression(N):-
write(t N),
N1 is N+1,
expression(N1).
其中tn
变成t1
,t2
,t3
。。。等等。如何执行此操作?在SWI序言中:
expression(N) :-
atom_concat('t', N, TN), % Note: N must be instantiated in this case
write(TN),
N1 is N+1,
expression(N1).
有趣的是,SWI对此很满意,即使N
是一个整数或一个原子(在这种情况下,它将N
视为一个原子)。GNU不喜欢N
是整数。因此,您必须首先转换它:
expression(N) :-
number_atom(N, AtomN), % Note: N must be instantiated in this case
atom_concat('t', AtomN, TN),
write(TN),
N1 is N+1,
expression(N1).