calculateSum(_, _List, _Row, _Col, []).
calculateSum([M|Rest],List,Row,Col,[Y|Tail]):-
Col == Row -> Col1 is Col + 1,calculateSum(List,List,Row1,Col1,Tail);
calcHeu(Rest,L),
sum(L,S),
index(List, Row, Col, V),
Y is V + S,
%Row1 is Row + 1,
Col1 is Col + 1,
calculateSum(List,List,Row1,Col1,Tail).
この Col == Row if ステートメントが機能しない理由。Row == Col の場合、そのステップをスキップする他の方法はありますか?
編集
このようなことをすることによって。
(Col \= Row ->
calcHeu(Rest,L),
sum(L,S),
index(List, Row, Col, V),
Y is V + S,
Col1 is Col + 1,
calculateSum(List,List,Row1,Col1,Tail)
;
Col1 is Col + 1,calculateSum(List,List,Row1,Col1,Tail)
).
[22, , ,_...... 無限に出力します