List.Map
List.map
有一个签名 ('a -> 'b) -> 'a list -> 'b list
,它在英语中是一个函数,它将一个函数(我们称之为映射函数)从一种类型(即'a
)转换为另一种类型(即'b
)和第一种类型的列表。该函数返回第二种类型的列表,其中每个元素都是在第一个列表的元素上调用映射函数的结果。
List.map string_of_int [ 1; 2; 3; 4 ]
#- [ "1"; "2"; "3"; "4" ] : string list
'a
和'b
的类型不必相同。例如,我们可以轻松地将数字映射到它们的方块。
let square x = x * x in
List.map square [ 1; 2; 3; 4 ]
#- [ 1; 4; 9; 16 ] : int list