如果我这样做:
(regexp-split (regexp " ") "look tom")
我得到了
("look" "tom")
哪个好,但我无法评估。如果我尝试(eval-string)它[在mzlib / string中],它会出错,说'tom'没有定义。我想它正试图运行:
(look tom)
哪个也不正确。这里有什么提示吗?
答案 0 :(得分:1)
目前还不清楚您正在寻找什么功能。
你想跑吗?
(look)
(tom)
如果将look和tom定义为函数,则可以使用以下内容:
(define (look) 1)
(define (tom) 1)
(map (lambda (s) (apply (eval (string->symbol s)) '())) '("look" "tom"))
或者,如果look和tom是变量,并且您想要用它们的值替换它们:
(define look 1)
(define tom 1)
(map (lambda (s) (eval (string->symbol s))) '("look" "tom"))
如果你想评估(看看tom)那么:
(define (look arg) arg)
(define tom 'arg)
(eval (map string->symbol '("look" "tom")))
如果您还标记了帖子方案,那么您之前可能会对您的问题做出回应。