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

用不同的变量替换列表中的元素,prolog,prolog,Prolog,我有一张这样的清单 ['_', '_', '#', '_'] 有什么方法可以让系统生成一些不同的变量,并用其中一个变量替换每个“u”? 感谢简单的实现: var('_', _):- !. var(X, X). 运行示例: ?- maplist(var, ['_','_','#','_'], L). L = [_G313, _G316, #, _G322]. 切口(感叹号)用于省略任何选项点。(尝试保留剪切,您将看到按分号将获得一个空闲的choicepoint。)是。但是你能指定如何调用你的

我有一张这样的清单

['_', '_', '#', '_']
有什么方法可以让系统生成一些不同的变量,并用其中一个变量替换每个“u”? 感谢

简单的实现:

var('_', _):- !.
var(X, X).
运行示例:

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

切口(感叹号)用于省略任何选项点。(尝试保留剪切,您将看到按分号将获得一个空闲的choicepoint。)

是。但是你能指定如何调用你的谓词吗?几天前有人问了这个问题,但我在最近的历史中没有看到,所以这可能是针对同一个类的,而你的同伴在问题得到回答后删除了这个问题。@lower-hmm。。像convert([T | Ts],[A | As]):-(T=='.''.'->…;)。你是说这个吗?@DanielLyons啊。。真正地我试图自己解决它,但我尝试了很多,搜索了很多,仍然没有成功…可能是重复的