私はSchemeが初めてで、よく知られている2つのリストの「マージ機能」をプログラムする必要があります。アルゴリズムは理解していますが、このエラーが何度も発生しています。
**merge((list 1 2 3) (list 4 5 6))**
<procedure:merge>
. . application: not a procedure;
expected a procedure that can be applied to arguments
given: (1 2 3) arguments...:(4 5 6)
私は自分のコードが間違っていると思ったので、デバッグを続けました.ダミー関数に変更して、それでも同じように反応するかどうかを確認しました. やった。
#lang scheme
(define (merge list1 list2)
(cond ((null? list1)list2)
((null? list2)list1)
(else
"Nothing more to do!"
)
)
)
構文チェックでは、「間違っている」ものは何もありませんでした。同様の問題に対する回答も読みましたが、それを理解することはできません。残っている唯一のオプションは、理由を理解していないのに間違った関数呼び出しを行っていることです。
フィードバックをお待ちしております..