Вы можете добавить пользовательский загрузчик непосредственно в DataTable на processing: true
, а для справки вы можете прочитать этот Datatable Custom Loader , а также Как поместить изображение при загрузке
var fromDate = $("#from_txn_date").val();
var toDate = $("#to_txn_date").val();
$('#data').DataTable({
processing: true,
"language": {
// Add loading image tag, or simple text
"processing": "Please wait for the response..."
},
serverSide: true,
ajax: "/doSearch?fromDate="+fromDate+"&toDate="+toDate
});
Последний элемент: append(_, [X], List)
Последние два элемента: append(_, [X, Y], List)
Последние n элементов: length(LastN, N), append(_, LastN, List)
Первые n элементов: length(FirstN, N), append(FirstN, _, List)
[117 ]
Что означает append( A, B, C)
? Это означает
A=[..........]
B=[.........]
C=[...................]
Что означает
length( B, 2)
? Это означает
B = [X | B1 ],
length( B1, 1)
и так, что означает
B = [X | B1 ],
B1 = [Y | B2],
length( B2, 0)
% i.e.
B = [X | B1 ],
B1 = [Y | B2],
B2 = []
% i.e.
B = [X | B1 ],
B1 = [Y | []]
% i.e.
B = [X | [Y | []]] = [X | [Y]]
= [X , Y | [] ]
= [X, Y ]
и так
B = [X, Y], append( A, B, C)
означает
A=[..........]
B=[XY]
C=[..........XY]
Я думаю, что это понятно, что это значит. Это означает, что мы можем определить
one_before_last(C, X) :-
% you can finish this up now!
. И как мы увидели, что B = [_, _]
означает length( B, 2)
(т.е. мы отслеживаем наши уравнения в обратном направлении), мы можем использовать другие вещи в качестве аргументов для length
. Чтобы решить ваши другие заявленные проблемы.