2015-07-27 18 views
5

ottengo questo termine composto:prologo ottenere un termine da un composto

e(currentNode,"http://localhost:9000/") 

Come posso ottenere solo http://localhost:9000/ separatamente da quello composto? O meno, c'è un modo per trasformare il termine composto in una stringa o in una lista?

+5

try '? - e (_, X) .' – CapelliC

+0

Ha funzionato, Ho provato con: comp (e (_, X)): - write (X). Grazie CapelliC :) –

risposta

2

In generale si utilizza l'unificazione per questo:

e(currentNode,"http://localhost:9000/") = e(_,X). 

si legano "http://localhost:9000/"-X.

si utilizza l'unificazione anche quando questo implicitamente mettendo variabili al posto di termini nella query, ad es .:

?- comp(e(_,X)). 

legherà al X il secondo argomento di e per ogni risultato di corrispondenza.

Problemi correlati