PLT Scheme:评估字符串或字符串列表?

时间:2009-11-30 03:17:28

标签: racket

如果我这样做:

(regexp-split (regexp " ") "look tom")

我得到了

("look" "tom")

哪个好,但我无法评估。如果我尝试(eval-string)它[在mzlib / string中],它会出错,说'tom'没有定义。我想它正试图运行:

(look tom)

哪个也不正确。这里有什么提示吗?

1 个答案:

答案 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")))

如果您还标记了帖子方案,那么您之前可能会对您的问题做出回应。