GolfScript coacciona automáticamente los valores, de acuerdo con la siguiente secuencia de 'prioridad':
entero → matriz → cadena → bloque
(listado de menor a mayor)
Esto significa que "1"7+
deja la cadena "17"
en la pila (y no 8
), porque las cadenas tienen una prioridad más alta que los enteros.
[ A esos veteranos de GolfScript: disculpas por insultar sus respectivas inteligencias. ]
¿Cómo sería posible hacer esto de otra manera? Es decir, ¿ forzar una cadena en un entero ?
tips
golfscript
digital_
fuente
fuente
name:~ args:1 functions:bitwise not, dump, eval
8
.Respuestas:
Hay un operador
~
en golfscript, que hace lo siguiente:bitwise not, dump, eval
.Por lo tanto,
"1"
dará la cadena"1"
mientras"1"~
evaluará esa cadena (en el entero1
).Entonces, todo lo que necesitas hacer es
"1"~7+
.Pruébalo en línea!
fuente
eval
código de golfscript, lo que significa, por ejemplo, que"1.0"~
hace algo inesperado.