[英]prolog list manipulating
I have the following code which basically needs to add a list as an item to a greater list. 我有以下代码,基本上需要将一个列表作为项目添加到更大的列表中。 So NewBoardsList should contain all the boards generated in the moves_generate_board function.
因此,NewBoardsList应该包含由move_generate_board函数生成的所有板。 The problem is that i get a False in Prolog.
问题是我在Prolog中得到了False。 Any help ?
有什么帮助吗?
moves((Colour,_),Board,NewBoardsList):-
other_colour(Colour,OtherColour),
findall((X,Y,OtherColour,N),
(member((X,Y,OtherColour,N),Board),
threaten_by(Colour,(X,Y,OtherColour,N),Board)),
Options),
moves_generate_board(Options,Board,NewBoardsList).
moves_generate_board([],Board,BoardsList).
moves_generate_board([(X,Y,_,_)|T],Board,List):-
replace((X,Y,-,-),Board,NewBoard),
moves_generate_board(T,Board,[NewBoard|List]).
I guess problem is in moves_generate_board/3
it looks very unusual. 我猜问题出在
moves_generate_board/3
这看起来很不寻常。 Maybe you wanted: 也许您想要:
moves_generate_board([],_,[]).
moves_generate_board([(X,Y,_,_)|T],Board,[NewBoard|List]):-
replace((X,Y,-,-),Board,NewBoard),
moves_generate_board(T,Board,List).
and about that replace((X,Y,-,-),...
those -
(dashes).... I'm not sure about what that means 以及关于那个
replace((X,Y,-,-),...
那些-
(破折号)....我不确定那是什么意思
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.