Я хочу заказать 4 буквы, [a, b, c, d]. Я задам пользователю вопрос о некоторых письмах, и в зависимости от его ответов я строю окончательный порядок.
Моя проблема в том, что если бы у меня было 2 правила, которые выглядели бы так:
(defrule rule_1
=>
(assert (1-a))
)
и
(defrule rule_2
=>
(assert (2-a))
)
и я хочу построить оператор «if», где, если «a» должен идти первым, тогда решение будет [1-a, 2-b, 3-c, 4-d]; но если «а» является вторым, то решение будет [1-b, 2-a, 3-c, 4-d]. Мое правило таково:
(defrule rule_3
=>
(if (1-a)
then (printout t "[1-a, 2-b, 3-c, 4-d]" crlf)
else (printout t "[1-b, 2-a, 3-c, 4-d]" crlf)
))
Я получаю сообщение об ошибке «Ошибка синтаксиса», однако я просмотрел несколько руководств, и я на 100% уверен, что синтаксис так выглядит, разница с моим кодом в том, что они используют «if» для переменных, и Я хочу использовать «если» как, если у меня есть этот факт -> сделать это. Это возможно?