こんにちは、変更可能でプロシージャとして使用できる式を返す関数を作成しようとしています。
例えば:
(fooeq 1 2)
戻るだろう(eq? 1 2)
と
((fooeq 1 2))
戻るだろう#f
プロシージャに変換できるシンボルである式を記述する方法はありますか?
編集: わかりました。返信ありがとうございます。他の誰かがそれが (eval p) だと思っていた場合に備えて。
fooeq
関数に評価したいと思います:
> (define (fooeq a b)
(lambda () (eq? a b)))
> ((fooeq 1 2))
#f
> ((fooeq 1 1))
#t
>
1 つ以上の関数を入力として受け取る関数、または関数を出力する関数は、高階関数 と呼ばれます。