base 関数と f および l 関数でいくつかのエラーが発生します。何が間違っているのでしょうか?
関数が何をすべきかの例は次のとおりです。
# sepConcat ", " ["foo";"bar";"baz"];;
- : string = "foo, bar, baz"
# sepConcat "---" [];;
- : string = ""
# sepConcat "" ["a";"b";"c";"d";"e"];;
- : string = "abcde"
# sepConcat "X" ["hello"];;
- : string = "hello"
先生は、私が記入することになっているこのコードをくれました。
let rec sepConcat sep s1 = match s1 with
|[] -> ""
|h::t ->
let f a x = failwith "to be implemented" in
let base = failwith "to be implemented" in
let l = failwith "to be implemented" in
List.fold_left f base l
私はこれまでに
let rec sepConcat sep s1 = match s1 with
|[] -> ""
|h::t ->
let f a x = a^sep^x in
let base = 0 in
let l = sepConcat sep t in
List.fold_left f base l