SWI-序言矩阵。如何通过索引查找元素的值?

SWI-Prolog Matrix. How to find the value of an element by indexes?

map(1,
   [[1,_,_,_,_,_,_,_,_,_],
    [1,1,_,_,1,1,_,_,_,_],
    [_,1,_,_,1,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,1,_,_,_,1,_,_,_],
    [_,1,1,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,1,1,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_]]).

这是我的矩阵。如何从第二行和第一列中找到元素的值?。我不知道我该怎么做。谁能帮帮我?

非常感谢!

你可以写一个 4 参数谓词,at/4

at(Mat, Row, Col, Val) :- nth1(Row, Mat, ARow), nth1(Col, ARow, Val).

并这样称呼它

test :- map(_, Map), at(Map, 2, 1, Val), write(Val).