我在 Prolog 中有一个问题,我有一个包含 81 个项目的列表,我每次只需要在不同的位置从中获取 9 个项目,例如,如果我的列表是:
L=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],
split(L1,2,L) the result will be L1=[10,11,12,13,14,15,16,17,18].
我的程序是
split([X,X1,X2,X3,X4,X5,X6,X7,X8], 0, [X,X1,X2,X3,X4,X5,X6,X7,X8], []).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], 1, [X,X1,X2,X3,X4,X5,X6,X7,X8], Y).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], N, [X,X1,X2,X3,X4,X5,X6,X7,X8|T], Z) :-
N > 0,
N1 is N-1,
split(Y, N1, T, Z).
但它不起作用。