1

私がする場合:

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

私は得る

("look" "tom")

これは問題ありませんが、それを評価することはできません。[mzlib/string 内にある] (eval-string) を実行しようとすると、'tom' が定義されていないというエラーが発生します。実行しようとしていると思います:

(look tom)

どちらも正しくありません。ここにヒントはありますか?

4

1 に答える 1

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

評価しようとしている場合(トムを見てください):

(define (look arg) arg)
(define tom 'arg)

(eval (map string->symbol '("look" "tom")))

また、投稿スキームにもタグを付けていれば、おそらく今までに質問への回答を得ていたでしょう。

于 2009-12-07T07:21:03.943 に答える