用不同的变量prolog替换列表中的元素

时间:2014-10-22 19:54:31

标签: prolog

我有一个像

这样的清单
['_', '_', '#', '_']

有什么方法可以让系统生成一些不同的变量并替换每个变量' _'有一个变量? 感谢

1 个答案:

答案 0 :(得分:2)

简单实施:

var('_', _):- !.
var(X, X).

示例运行:

?- maplist(var, ['_','_','#','_'], L).
L = [_G313, _G316, #, _G322].

剪切(感叹号)用于遗漏任何选择点。 (尝试离开剪切片,你会看到按分号会得到一个空闲的选择点。)