CLIPS 질문에 대한 도움이 필요합니다.메시지를 내림차순으로 인쇄하는 CLIPS 규칙
"는 클립 데이터베이스는 다음과 같은 템플릿의 인스턴스화있는 사실이 포함되어 있다고 가정 :이 문제입니다.
(deftemplate recommendation
(slot name)
(slot message)
(slot rating)
)
쓰기 클립은 등급에 따라 내림차순으로 메시지를 인쇄 할 규칙을 각 메시지가 될 것입니다 관련 이름과 등급과 함께 인쇄됩니다. " 같은 목록이있을 때
나는 정렬 규칙을 알고
(deffacts testlist
(list 1 4 2 3 5 8 7 6 9 0)
)
(defrule sort
?f <- (list $?head ?a ?b&:(< ?b ?a) $?tail)
=>
(retract ?f)
(assert (list $?head ?b ?a $?tail))
)
을하지만 deftemplate 형식을 때 나는 확실하지 않다. 누군가 제발 도와 드릴까요?
예 모든 항목에 대해 사실을 주장하는 것에 대해 생각했지만 정렬 후에 사용하는 방법을 잘 모릅니다. 위대한 작품! 고맙습니다! – user2303699
do-for-all-facts를 포함한 사실 집합 쿼리 함수는 CLIPS 버전 6.23 (2005 년 릴리스) 이상에 기본적으로 제공됩니다. 지난 9 년 동안 업데이트되지 않은 타사 확장 프로그램에는 이러한 기능이 포함되지 않지만 현재 버전의 CLIPS를 사용하는 경우이 기능을 사용할 수 있습니다. –