2009-11-30 83 views
1

如果我做了:PLT計劃:評估一個字符串或字符串列表?

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

我得到

("look" "tom") 

這很好,但我不能說EVAL。如果我試圖(eval-string)它[它在mzlib/string裏面],它會出錯,說'tom'沒有被定義。我想這是試圖運行:

(look tom) 

哪一個是不正確的。任何提示在這裏?

回答

1

目前還不清楚你正在尋找什麼功能。

你們是不是要運行:

(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"))) 

此外,如果您還標記了發佈方案,您可能會在現在之前得到對您問題的回覆。