Как вы сказали в комментариях, dia-cost
- это переменная со значением 1000
, которую вы хотите получить. Суть проблемы в том, что read-from-string
читает только литеральные значения типа номер, список, строка, логическое значение или никто. Формулировка там немного сбивает с толку, так как она говорит: «Интерпретирует заданную строку, как если бы она была набрана в Командном центре», поэтому я мог видеть, как переменная должна давать свое значение с read-from-string
просто как вы могли бы видеть в командном центре, но переменные не являются литеральными значениями этих ограниченных типов.
К счастью, есть простая альтернатива, вы можете использовать примитив runresult
и его интерпретирует строку как имя переменной и получит значение:
to test
let dia-cost 1000
let item-cost ["dia-cost"]
set item-cost first item-cost
show runresult item-cost ; prints "1000"
end