我怎么会return这个功能?
How would I return this function?
我想编写一个函数,它接受一个字符串列表,该列表包含一个 4 个字母的单词、3 个字母的单词和一个五个字母的单词,它 returns 一个包含三个字符串的元组列表。
let word ( str : string list) : (string * string * string) list =
match str with
| [] -> []
| x :: xs ->
let helper x =
String.length x = 4
in
List.filter helper str
到目前为止我的代码是先尝试过滤掉 4 个字母的单词,但是我不确定从这里移到哪里
正如您所表明的,您确实想要一个类型的函数:
string list -> string list * string list * string list
其中三个、四个和五个字母的单词被过滤到这三个列表中,并且您可以过滤一个列表以找到四个字母的单词,应该可以直接推断出解决方案。
let filter words =
(...,
List.filter (fun w -> String.length w = 4) words,
...)
我留下填写 ...
作为你的练习。
我想编写一个函数,它接受一个字符串列表,该列表包含一个 4 个字母的单词、3 个字母的单词和一个五个字母的单词,它 returns 一个包含三个字符串的元组列表。
let word ( str : string list) : (string * string * string) list =
match str with
| [] -> []
| x :: xs ->
let helper x =
String.length x = 4
in
List.filter helper str
到目前为止我的代码是先尝试过滤掉 4 个字母的单词,但是我不确定从这里移到哪里
正如您所表明的,您确实想要一个类型的函数:
string list -> string list * string list * string list
其中三个、四个和五个字母的单词被过滤到这三个列表中,并且您可以过滤一个列表以找到四个字母的单词,应该可以直接推断出解决方案。
let filter words =
(...,
List.filter (fun w -> String.length w = 4) words,
...)
我留下填写 ...
作为你的练习。