Coagindo uma string a um número inteiro no GolfScript


12

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 ?


name:~ args:1 functions:bitwise not, dump, eval
Freira vazando


@LeakyNun; Agradável! Deseja colocar isso em uma resposta? Eu certamente aceitaria.
Digitalis_


@downvoter; você poderia deixar um comentário explicando por que você votou negativamente?
Digitalis_

Respostas:


10

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 inteiro 1).

Então, tudo que você precisa fazer é "1"~7+.

Experimente online!


5
Vale ressaltar que este é um evalcódigo de golfscript, o que significa, por exemplo "1.0"~, algo inesperado.
Lynn
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.