Обновление переменных в матрице в прологе

$ lookup (aggregation)

Выполняет левое внешнее соединение в незащищенном наборе в той же базе данных для фильтрации в документах из «объединенной» коллекции для обработки. Для каждого входного документа этап $ lookup добавляет новое поле массива, элементы которого являются соответствующими документами из «объединенной» коллекции. Эта стадия $ lookup передает эти измененные документы на следующий этап. Этап $ lookup имеет следующие синтаксисы:

Equality Match

Чтобы выполнить совпадение равенства между полем из входных документов с полем из документов «объединенной» коллекции, этап $ lookup имеет следующий синтаксис:

{
   $lookup:
     {
       from: ,
       localField: ,
       foreignField: ,
       as: 
     }
}

Операция будет соответствовать следующему выражению псевдо-SQL:

SELECT *, 
FROM collection
WHERE  IN (SELECT 
                               FROM 
                               WHERE  );

Mongo URL

1
задан cat123456 17 March 2019 в 23:05
поделиться

1 ответ

Вы можете использовать nth0 / 4: например,

update_mat_rc(Mc,R,C,V,Mu) :-
    nth0(R,Mc,Rc,Mt),
    nth0(C,Rc,_,Rt),
    nth0(C,Ru,V,Rt),
    nth0(R,Mu,Ru,Mt).

?- update_mat_rc([[1,2,3],[4,5,6],[7,8,9]],1,1,x,M).
M = [[1, 2, 3], [4, x, 6], [7, 8, 9]].

Обратите внимание на порядок и имена переменных, передаваемых в nth0 / 4.

У меня есть суффиксы переменных с c (например, Mc, Rc) для обозначения тока , с t для обозначения временно [ 117], с и означает обновлено .

0
ответ дан CapelliC 17 March 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: