Der Versuch, zwei Prolog Beziehungen zu schaffen, indem sie als affix
und suffix
, um weiter definieren sie auf den gegebenen Listen, wie diese zu definieren:Zwei Beziehungen und ihre Definitionen in einem Prolog-Programm
?- consult(relpro).
% relpro compiled 0.00 sec, 956 bytes
true.
?- affix([a,b,c],[a,b,c,e,f]).
true.
?- affix([a,b,c], [a,b,e,f]).
false.
?- suffix([e,f],[a,b,e,f]).
true .
?- suffix([a,b,c],[a,b,c,e,f]).
false.
für Anregungen der Suche!
@Aspersum. Zuerst habe ich das nicht verstanden ... Es ist besser, das 'suffix_of/2' zu nennen, nicht' affix_of/2'. Es könnte als 'suffix_of (Xs, Es) definiert werden: - append (_, Xs, Es). – repeat
@ Aspersum. Willst du eine ältere Version meiner Antwort für 'Affix_of/2' sehen? Gehen Sie zu http://stackoverflow.com/posts/36354206/revisions ... – repeat
@ Aspersum. Aha. 'prefix_of (Präfix, Liste): - append (Präfix, _, Liste) .' und' suffix_of (Suffix, Liste): - append (_, Suffix, Liste) .' sollte Ihnen recht entsprechen ... Beispielabfragen und Antworten : '? - Präfix_von (Xs, [a, b, c, d]).' gibt 'Xs = []; Xs = [a]; Xs = [a, b]; Xs = [a, b, c]; Xs = [a, b, c, d]; false.' und '? - suffix_of (Xs, [a, b, c, d]).' gibt 'Xs = [a, b, c, d]; Xs = [b, c, d]; Xs = [c, d]; Xs = [d]; Xs = []; falsch. – repeat