КЛИПЫ: как добавить условия в конструкцию «делай для всех»?

У меня есть конструкция для всех фактов с логическими условиями для фильтрации только некоторых фактов:

(do-for-all-facts ((?hotel albergo)) 
        (eq ?hotel:localita ?current-city)
        (>= ?hotel:disponibilita (/ ?number-of-people 2))
        (<= (* ?hotel:prezzo ?current-days) ?budget-for-locality)
            (printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)
            (if (> ?hotel:disponibilita ?max)
                then
                    (bind ?most-available-hotel ?hotel)
                    (bind ?max ?hotel:disponibilita)
            )
)

Кажется, что это не фильтрует должным образом, потому что

(printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)

строка печатает ЛОЖЬ. Как я могу вычислить логическим И все условия в конструкции do-for-all-facts?


person pairon    schedule 16.06.2019    source источник


Ответы (1)


Я решил проблему, используя только одно условие в запросе набора фактов.

person pairon    schedule 16.06.2019