嵌套的if-else循环错误-ocaml
我试图为我的代码设计一个多if-else循环 我以前的代码是:嵌套的if-else循环错误-ocaml,ocaml,Ocaml,我试图为我的代码设计一个多if-else循环 我以前的代码是: 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
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
;;
我的代码在语法上似乎是正确的。这是在OCaml中实现嵌套循环的正确方法吗??
我举了一个if elseif loop在线发现的例子,它运行良好
我需要最后输出x
,这是在该函数中对appendtocode
和appendtolist
进行所有递归调用后形成的列表
我哪里做错了
请导游
谢谢。在您的第一个代码示例中,您调用的是
appendtocode
,如下所示:
appendtocode n (List.hd list)
appendtocode n (List.hd list) (b-1)
所以我假设appendtocode
是一个包含两个参数的函数
在第二秒钟,你这样称呼它:
appendtocode n (List.hd list)
appendtocode n (List.hd list) (b-1)
这里你用3个参数来调用它。因为它只需要两个参数,所以会收到一条错误消息,告诉您调用它的参数太多
注:If语句不是循环。在您的第一个代码示例中,您调用的是
appendtocode
,如下所示:
appendtocode n (List.hd list)
appendtocode n (List.hd list) (b-1)
所以我假设appendtocode
是一个包含两个参数的函数
在第二秒钟,你这样称呼它:
appendtocode n (List.hd list)
appendtocode n (List.hd list) (b-1)
这里你用3个参数来调用它。因为它只需要两个参数,所以会收到一条错误消息,告诉您调用它的参数太多
PS:If语句不是循环。hi。谢谢没有意识到语法错误。我在一篇新文章中转述了整个问题。而不是在这里覆盖它。再次谢谢。嗨。谢谢没有意识到语法错误。我在一篇新文章中转述了整个问题。而不是在这里覆盖它。再次感谢。