@ULIK:
Das Problem ist aber, soweit ich sehe, dass ich einen String nicht mit "<" prüfen kann, da kriege ich eine Typverletzung, d.h. ich muss schon verifiziert haben, dass die Variable numerisch ist, womit die Reihenfolge der Regeln wieder Wichtigkeit erhält. Oder hab ich was falsch verstanden?
Deine Regel 1 ist doch vom Typ: Wenn Bedingung zutrifft, dann erstelle neue Regel. Dein Regelwerk muß ja als erstes die Bedingung prüfen, ob A=MAX. Wenn diese erfüllt ist, dann ist die Aktion: erstelle zwei neue Regeln: 1. B ist Zahl und 2. b < 20
Deine Regelwerk schaut also so aus:
Original:
- Regel_1 = "Wenn a=Max, dann muss b kleiner als 20 sein."
- Regel_2 = "b muss eine Zahl sein."
Nach Auswertung Regel 1 wenn a=Max zutrifft
- Regel_2 = "b muss eine Zahl sein."
- Regel_3 = "b muss eine Zahl sein."
- Regel_4 = "b < 20"
Du mußt deine Regeln so formulieren, daß sie entweder direkt ausgewertet werden können (wie Regel 2) oder die Auswertung nur wieder zusätzliche Regeln generiert. Ist es nun etwas verständlicher?