1

こんにちは、変更可能でプロシージャとして使用できる式を返す関数を作成しようとしています。

例えば:

(fooeq 1 2)戻るだろう(eq? 1 2)

((fooeq 1 2))戻るだろう#f

プロシージャに変換できるシンボルである式を記述する方法はありますか?

編集: わかりました。返信ありがとうございます。他の誰かがそれが (eval p) だと思っていた場合に備えて。

4

1 に答える 1

1

fooeq関数に評価したいと思います:

> (define (fooeq a b)
    (lambda () (eq? a b)))

> ((fooeq 1 2))
#f
> ((fooeq 1 1))
#t
> 

1 つ以上の関数を入力として受け取る関数、または関数を出力する関数は、高階関数 と呼ばれます。

于 2011-02-17T06:30:10.270 に答える