EMA-XPS Online
[AND
[AND
====
Syntax: (ask [and {<Prädikation> ...}] <Continu.>)
HINWEIS: [AND nur INNERHALB von ASK verwenden!
Diese Funktion ist eine Compound-Prädikation. Sie
versucht nacheinander, die einzelnen Prädikationen
auszuwerten. Ist die Auswertung einer Prädikation
erfolgreich, d.h. verbleibt eine nicht leere Menge von
Zuweisungen an BQL-Variablen, wird die nächste Prädi-
kation ausgewertet. Sobald eine Auswertung nicht er-
folgreich ist, wird die weitere Abarbeitung der Funktion
abgebrochen.
Gleichzeitig können in der Funktion LISP-Ausdrücke
verwendet werden, bei denen die gleichen Bedingungen zu
erfüllen sind, wie bei Prädikationen. Dabei gilt
der Rückgabewert NIL als erfolglos, alle anderen als
erfolgreich.
Erst wenn die Funktion erfolgreich ausgewertet wurde,
wird die 'Continuation' ausgeführt. War die Auswer-
tung jedoch nicht erfolgreich, wird die 'Continuation'
nicht ausgeführt.
Diese Funktion wird benutzt, wenn der Gültigkeits-
bereich einer BQL-Variablen präzisiert werden soll,
oder wenn im klassischen Sinne einer UND-Verknüpfung
die Continuation eines ASK nur dann ausgeführt
werden soll, wenn die Prädikationen der [AND-Funktion
erfolgreich ausgewertet werden konnten.
Die [AND-Funktion liefert keinen brauchbaren
Rückgabewert.
Beispiel: >(ask
[and
[Computer _ein-computer]
[Optionen _ein-computer
_eine-option]]
(kb-format "~% Der Computer ~A
hat folgende Optionen: ~% ~A"
(name-of _ein-computer)
(name-of _eine-option)))
Der Computer SIEMENS-NIXDORF hat
folgende Optionen:
1GB-FESTPLATTE
Der Computer SIEMENS-NIXDORF hat
folgende Optionen:
16MB-RAM
Der Computer WANG hat folgende
Optionen:
850MB-FESTPLATTE
Der Computer WANG hat folgende
Optionen:
QUAD-SPEED-CDROM
NIL
EMA-XPS Online