如果我这样做:
(regexp-split (regexp " ") "look tom")
我明白了
("look" "tom")
这很好,但我无法评估。如果我尝试(eval-string)它[在 mzlib/string 中],它会出错,说没有定义'tom'。我猜它正在尝试运行:
(look tom)
这也不正确。这里有什么提示吗?
如果我这样做:
(regexp-split (regexp " ") "look tom")
我明白了
("look" "tom")
这很好,但我无法评估。如果我尝试(eval-string)它[在 mzlib/string 中],它会出错,说没有定义'tom'。我猜它正在尝试运行:
(look tom)
这也不正确。这里有什么提示吗?
目前尚不清楚您正在寻找什么功能。
您是否尝试运行:
(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"))
如果您正在尝试评估(看汤姆),那么:
(define (look arg) arg)
(define tom 'arg)
(eval (map string->symbol '("look" "tom")))
此外,如果您还标记了帖子方案,您可能会在此之前得到对您问题的回复。