O GolfScript coage automaticamente os valores, de acordo com a seguinte sequência de 'prioridade':
número inteiro → matriz → sequência → bloco
(listado do menor para o maior.)
Isso significa que "1"7+
deixa a cadeia "17"
na pilha (e não 8
), porque as cadeias têm uma prioridade mais alta que os números inteiros.
[ Para aqueles veteranos do GolfScript - desculpas por insultar suas respectivas inteligências. ]
Como seria possível fazer isso de outra maneira? Ou seja, coagir uma string a um número inteiro ?
tips
golfscript
digitalis_
fonte
fonte
name:~ args:1 functions:bitwise not, dump, eval
8
.Respostas:
Há um operador
~
em golfscript, que faz o seguinte:bitwise not, dump, eval
.Portanto,
"1"
fornecerá a string"1"
enquanto"1"~
avaliará essa string (no número inteiro1
).Então, tudo que você precisa fazer é
"1"~7+
.Experimente online!
fonte
eval
código de golfscript, o que significa, por exemplo"1.0"~
, algo inesperado.