4

この関数は Ocaml で書きましたが、同じことを最初に末尾再帰を適用してからfold_left.

let rec check fore list = 
    match list with 
    | [] -> [] | h :: t -> 
        if fore h 
        then h :: check fore t 
        else check fore t ;;

これは私がこれまでに行ったことです。指定されたパラメーターより大きいリスト (つまり、最初にリストが指定された場合) を返します。例:check (fun a -> a >= 6 )[5;4;8;9;3;9;0;2;3;4;5;6;61;2;3;4]返品# - : int list = [8; 9; 9; 6; 61]

どんな助けでも大歓迎です。

4

2 に答える 2

4

なぜあなたは使わないのですList.filterか?

List.filter (fun a -> a >= 6) [5;4;8;9;3;9;0;2;3;4;5;6;61;2;3;4]
于 2013-11-04T15:47:40.417 に答える