Prolog: Wie überprüft man, ob ein Prädikat existiert?

8

Wie kann ich prüfen, ob ein Prädikat in einem Prolog-Programm existiert? Das wäre ein exists/1 , wie:

%Vor%     
vmassuchetto 14.10.2012, 20:22
quelle

2 Antworten

12

Sie können current_predicate / 1 verwenden, current_predicate/2 oder predicate_property / 2 (für den letzten brauchen Sie wahrscheinlich funktor / 3 ):

%Vor%

current_predicate/2 und predicate_property/2 (mit visible) ist erfolgreich, wenn das Prädikat automatisch geladen werden kann, während currrent_predicate/1 fehlschlägt

    
Thanos Tintinidis 14.10.2012, 20:40
quelle
1

Der "altmodische Weg", aber in der ISO akzeptiert, ist Klausel / 2. Sie könnten es finden, während Sie einige der älteren Beispiele erneut verwenden / durchsuchen.

Beispiel:

%Vor%     
CapelliC 14.10.2012 21:07
quelle

Tags und Links