1
私のコードに複数のif-elseループを作成しようとしています。ネストされたループと-elseループエラー - ocaml
let rec appendtolist n list b =
let f x =
if (b == 0) then x
else (append (appendtocode n (List.hd list)) (appendtolist n (List.tl list) (b-1)))
in
f list
;;
修正コード:
私の以前のコードでした
let rec appendtolist n list b =
let f x =
if b < 0 then x
else if (b == 0) then appendtocode n (List.hd list) (b-1)
else appendtocode n (List.hd list) :: appendtolist n (List.tl list) (b-1)
in
f list
;;
しかし、私はこのエラーを取得する:
This function is applied to too many arguments, maybe you forgot a `;'
私のコードは、構文的に正しいと思われます。これはOCamlでネストされたループを実装する正しい方法ですか? if-elseifループがオンラインで見つかったため、うまくいきました。
この関数では、appendtocode
とappendtolist
へのすべての再帰呼び出しの後に形成されるリストであるx
を最終的に出力する必要があります。
私は間違っていますか?
ご案内しています。
ありがとうございます。
appendtocode n (List.hd list)
だから私はappendtocode
は2つの引数を取る関数であることを前提としています。あなたはこのようなappendtocode
を呼んでいるあなたの最初のコードサンプルで
hi。ありがとう。構文上の誤りを認識しませんでした。私は新しい投稿で問題全体を再投稿しました。ここで上書きするのではありません。再度、感謝します。 – JJunior