GolfScript automatycznie wymusza wartości, zgodnie z następującą sekwencją „priorytetu”:
liczba całkowita → tablica → ciąg → blok
(wymienione od najniższej do najwyższej).
Oznacza to, że "1"7+
pozostawia ciąg "17"
na stosie (a nie 8
), ponieważ ciągi mają wyższy priorytet niż liczby całkowite.
[ Do tych weteranów GolfScript - przeprosiny za obrażanie waszych inteligencji. ]
Jak można to zrobić w drugą stronę? To znaczy, aby zmusić ciąg do liczby całkowitej ?
tips
golfscript
naparstnica_
źródło
źródło
name:~ args:1 functions:bitwise not, dump, eval
8
.Odpowiedzi:
Jest operatorem
~
w golfscript, który wykonuje następujące czynności:bitwise not, dump, eval
.Dlatego
"1"
da ciąg,"1"
podczas gdy"1"~
oceni ten ciąg (do liczby całkowitej1
).Następnie wszystko, co musisz zrobić, to
"1"~7+
.Wypróbuj online!
źródło
eval
kod golfowy, co oznacza, że np."1.0"~
Robi coś nieoczekiwanego.