variables - all_products - shopify liquid operators
Prólogo: imprime el valor de una variable (1)
Simplemente no puedo entender cómo imprimir el valor de X
Esto es lo que intenté en el nivel superior:
59 ?- read(X).
|: 2.
X = 2.
60 ?- write(X).
_G253
true.
¿Qué es _G253
? No quiero el número de índice, quiero el valor al que X está obligado. ¿Qué debo hacer para imprimir el valor de X
?
Cuando escribe write(X).
en el prompt interactivo, y nada más, X no está limitado a nada en particular. Si desea leer X del usuario y luego escribirlo, intente escribir read(X), write(X).
en el prompt.
?- read(X), write(X).
|: 28.
28
X = 28.
SWI Prolog mantiene un historial de enlaces de nivel superior; escribe help.
para ir al manual, luego buscar bindings
o simplemente navegar a la sección 2.8 del manual, ''Reutilización de enlaces de nivel superior''. Allí, puede aprender que el valor más reciente de cualquier variable vinculada a un objetivo de nivel superior exitoso se retiene, y puede referirse al mismo utilizando el nombre de la variable, con el prefijo de un signo de dólar. Entonces las interacciones como las siguientes son posibles:
?- read(X).
|: 42.
X = 42.
?- write($X).
42
true.
Pero un objetivo de nivel superior que simplemente usa el nombre de la variable X se interpretará como el uso de una variable nueva; hacerlo de lo contrario violaría la semántica normal de Prolog.