GolfScript erzwingt automatisch Werte gemäß der folgenden Prioritätssequenz:
Ganzzahl → Array → String → Block
(vom niedrigsten zum höchsten aufgelistet.)
Dies bedeutet, dass "1"7+
die Zeichenfolge "17"
auf dem Stapel verbleibt (und nicht 8
), da Zeichenfolgen eine höhere Priorität als Ganzzahlen haben.
[ An diese GolfScript-Veteranen - Entschuldigung für die Beleidigung Ihrer jeweiligen Intelligenz. ]]
Wie wäre es möglich, dies andersherum zu tun? Das heißt, eine Zeichenfolge in eine Ganzzahl zu zwingen ?
tips
golfscript
Digitalis_
quelle
quelle
name:~ args:1 functions:bitwise not, dump, eval
8
.Antworten:
~
In golfscript gibt es einen Operator , der Folgendes ausführt :bitwise not, dump, eval
.Daher
"1"
wird die Zeichenkette geben ,"1"
während"1"~
wird die Zeichenfolge auszuwerten (in die ganze Zahl1
).Dann müssen Sie nur noch tun
"1"~7+
.Probieren Sie es online aus!
quelle
eval
Golfscript-Code ist, was"1.0"~
bedeutet , dass z . B. etwas Unerwartetes getan wird .