我有一种方法可以在建造塔时检查下一块砖的放置位置。
freePosition(POS, LEVEL) :- levelWithSpace(LEVEL),
freePositionOnLevel(POS, LEVEL).
此方法检查具有空格的级别,并询问此级别的空闲位置。 在我的情况下,它应该返回两个结果:
然而,它返回以下输出:
?- freePosition(POS, LEVEL).
POS = 1,
LEVEL = 2 ;
POS = LEVEL, LEVEL = 2 ;
如何更改返回POS = 2而不是POS = LEVEL?
的行为答案 0 :(得分:3)
您可以使用内置format/2
发出格式化字符串:
?- freePosition(POS, LEVEL),
format('Pos = ~d, Level = ~d~n', [POS,LEVEL]).
无论您使用何种Prolog实现,都可以轻松获得统一的输出样式。
请注意,Prolog解释器顶层提供的具体答案风格在不同的Prolog实现之间有很大不同。