我正在从“Learn Prolog”一书中学习 Prolog。我是Prolog的新手。
我有知识库:
transpose(Matrix, Transpose) :-
dim(Matrix, [R, C]),
dim(Transpose, [C, R]),
( foreachelem(E,Matrix,[I,J]),
param(Transpose)
do subscript(Transpose,[J, I], E ) ).
跑:
Matrix=[]([](11,12),[](21,22),[](31,32)),transpose(Matrix,Transpose).
结果:
Matrix = []([](11, 12), [](21, 22), [](31, 32))
Transpose = []([](11, 21, 31), [](12, 22, 32))
我不明白 的目的param
。帮我理解。谢谢。