2012-04-11 24 views
8

tengo este código:¿Qué hace slash (/) en prolog?

set_value(X,Value,[X/_|T],[X/Value|T]). 
set_value(X,Value,[Y/V|T],[Y/V|NewT):- X\=Y,set_value(X,Value,T,NewT). 
set_value(X,Value,[],[X/Value]). 

pero no puedo averiguar lo que hace/hacen. Parece que une variables, pero no estoy 100% seguro. Definitivamente no es un operador de división. Gracias.

Respuesta

10

No do cualquier cosa; se usa aquí para construir pares, como ya pensaste.

Desde el / no se produce en el lado derecho de is o en otro lugar donde se realiza la evaluación aritmética, Prolog solo produce términos de dos argumentos con / como el funtor. / se usa porque se puede escribir infijo; - es también una opción popular para un constructor de pares genérico.