GolfScript contraint automatiquement les valeurs, selon la séquence de «priorité» suivante:
entier → tableau → chaîne → bloc
(du plus bas au plus élevé.)
Cela signifie que "1"7+
laisse la chaîne "17"
sur la pile (et non 8
), car les chaînes ont une priorité plus élevée que les entiers.
[ À ces vétérans de GolfScript - des excuses pour avoir insulté vos intelligences respectives. ]
Comment serait-il possible de procéder autrement? Autrement dit, pour contraindre une chaîne en un entier ?
tips
golfscript
digitale_
la source
la source
name:~ args:1 functions:bitwise not, dump, eval
8
.Réponses:
Il y a un opérateur
~
dans golfscript, qui effectue les opérations suivantes:bitwise not, dump, eval
.Par conséquent,
"1"
donnera la chaîne"1"
tandis que"1"~
évaluera cette chaîne (dans l'entier1
).Ensuite, tout ce que vous devez faire est
"1"~7+
.Essayez-le en ligne!
la source
eval
code de golf, ce qui signifie, par exemple,"1.0"~
fait quelque chose d'inattendu.