是否有可能在同一个参数中关联成本和变量?例如:
expression(N):-
write(t N),
N1 is N+1,
expression(N1).
where t N
become t1
, t2
, t3
... etc. 我该怎么做?
是否有可能在同一个参数中关联成本和变量?例如:
expression(N):-
write(t N),
N1 is N+1,
expression(N1).
where t N
become t1
, t2
, t3
... etc. 我该怎么做?
在 SWI 序言中:
expression(N) :-
atom_concat('t', N, TN), % Note: N must be instantiated in this case
write(TN),
N1 is N+1,
expression(N1).
有趣的是,即使是整数或原子(在这种情况下N
它将被视为原子),SWI 也对此感到满意。如果是整数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).