PLT计划:评估一个字符串或字符串列表?
问题描述:
如果我做了:PLT计划:评估一个字符串或字符串列表?
(regexp-split (regexp " ") "look tom")
我得到
("look" "tom")
这很好,但我不能说EVAL。如果我试图(eval-string)它[它在mzlib/string里面],它会出错,说'tom'没有被定义。我想这是试图运行:
(look tom)
哪一个是不正确的。任何提示在这里?
答
目前还不清楚你正在寻找什么功能。
你们是不是要运行:
(look)
(tom)
如果外观和汤姆被定义为功能,你可以使用类似:
(define (look) 1)
(define (tom) 1)
(map (lambda (s) (apply (eval (string->symbol s)) '())) '("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")))
此外,如果您还标记了发布方案,您可能会在现在之前得到对您问题的回复。