Я довольно новичок в Racket, и я попытался сделать что-то очень простое на других языках, таких как PHP, который преобразует строку в имя переменной. Что-то вроде:Есть ли простой способ преобразования строк в имена переменных (идентификаторы) в Racket?
#lang racket
(define t0 3)
(display t0) ; It outputs 3
(define (symbol? (string->symbol "t1")) 2)
(display t1) ; It would output 2, however it throws an error :(
Есть ли способ, чтобы преобразовать строку в идентификатор? Потому что мне нужно динамически определять имена переменных из строк.
Возможного дубликат [Именование переменных, используя переменные в Ракетка ?] (http://stackoverflow.com/questions/29447853/naming-variables-using-variables-in-racket) –
Одним из преимуществ Racket является то, что вы всегда знаете во время компиляции, когда переменная привязана или несвязана. Это означает, что вы не можете создавать новые привязки переменных во время выполнения *, но *, вы можете определить макрос для этого. –
P.S. Похоже, вы думаете о некоторых из тех вещей, которые я делал, прежде чем я знал, что лучше, поэтому я буду предупреждать вас, 'eval' это * не * ответ. Если вы скажете мне, для чего вы хотите это использовать, я могу рассказать вам больше о хороших решениях, включая макросы. –