КЛИПСЫ: как добавить условия для построения для всех фактов? - PullRequest
0 голосов
/ 16 июня 2019

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

(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 конструкции?

1 Ответ

0 голосов
/ 16 июня 2019

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

...