GolfScript автоматически приводит значения в соответствие со следующей последовательностью «приоритет»:
целое число → массив → строка → блок
(перечислены от низшего к высшему.)
Это означает, что "1"7+
строка остается "17"
в стеке (а не 8
), потому что строки имеют более высокий приоритет, чем целые числа.
[ Этим ветеранам GolfScript - извинения за оскорбление ваших умственных способностей. ]
Как можно было бы сделать это по-другому? То есть привести строку в целое число ?
tips
golfscript
digitalis_
источник
источник
name:~ args:1 functions:bitwise not, dump, eval
8
.Ответы:
Там же оператор
~
в golfscript, который делает следующее:bitwise not, dump, eval
.Следовательно,
"1"
выдаст строку,"1"
а"1"~
вычислит эту строку (в целое число1
).Тогда все, что вам нужно сделать, это
"1"~7+
.Попробуйте онлайн!
источник
eval
код для игры в гольф, что означает, например"1.0"~
, что-то неожиданное.