スキーム関数に問題があります。オペレータをスキーム関数に渡すには
(define myfun(operator lis)
(if(null? lis)
'()
(cons(operator (car lis)(car lis))myfun(operator (cdr lis))
))))
機能は、たとえば(+'(1 2 3 4))
のためのパラメータと、リストとして演算子を取り、私は関数を呼び出すしようとすると、私が取得エラーです:番号を期待しますが、リストを受け取りました。だから私の質問は、どのように私は演算子とリストを使用して再帰的に関数を呼び出すのですか?
UPDATE:ちょうどオペレータ前'
記号を必要としていました。
スキームには、 "事業者" はありませんが実行されます。むしろ、名前がシンボルで構成されている関数がいくつかあります。彼らはただ、他の機能と同じように機能するので、あなたは、それらを呼び出すだけでは、他の機能は – newacct