当前位置:  开发笔记 > 程序员 > 正文

在Prolog中创建一个N×N矩阵(使用列表?)

如何解决《在Prolog中创建一个N×N矩阵(使用列表?)》经验,为你挑选了1个好方法。

我希望在SWI-Prolog中有一个大小为N x N的矩阵.一个可能的解决方案是创建一个N个大小为N的列表,但现在确定如何在Prolog中编写代码.



1> false..:
length_list(N, L) :-
   length(L, N).

n_matrix(N, Xss) :-
   length(Xss, N),
   maplist(length_list(N),Xss).

maplist(_, []).
maplist(C, [X|Xs]) :-
   call(C,X),
   maplist(C, Xs).

为了避免尴尬的辅助定义,我们可能会使用library(lambda):

n_matrix(N, Xss) :-
    length(Xss, N),
    maplist(N+\Xs^length(Xs,N),Xss).

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有