2016-09-19 3 views
0

Ich habe die folgenden Fakten:Loop in der Regel erstellen Fakten in CLIPS

(deffacts Cars 
    (color red) 
    (color green) 
    (color yellow) 
    (doors three) 
    (doors five) 
) 

Ist möglich defrule eine Schleife durch die Tatsachen zu schaffen, um neue Fakten wie (Auto drei rot), (Auto rot fünf), (Auto grün drei), (...), für alle möglichen Kombinationen von Farbe und Türen?

Dank

Antwort

3
CLIPS> 
(deffacts Cars 
    (color red) 
    (color green) 
    (color yellow) 
    (doors three) 
    (doors five)) 
CLIPS>  
(defrule combinations 
    (color ?color) 
    (doors ?doors) 
    => 
    (assert (car ?color ?doors))) 
CLIPS> (reset) 
CLIPS> (run) 
CLIPS> (facts) 
f-0  (initial-fact) 
f-1  (color red) 
f-2  (color green) 
f-3  (color yellow) 
f-4  (doors three) 
f-5  (doors five) 
f-6  (car red five) 
f-7  (car green five) 
f-8  (car yellow five) 
f-9  (car red three) 
f-10 (car green three) 
f-11 (car yellow three) 
For a total of 12 facts. 
CLIPS> 
+0

Dank Gray, ist dieses fantastische !!! – Selrac