将记录转换为列表
Convert record to list
假设
type pair_int = {l1:int; l2:int, ..., ln:int}
let test = {l1=2; l2=4, ..., ln=71}
我以为我可以做类似 map (fun (x,y) -> y) test
的事情,但它不起作用
如何从 test
中获取列表 [2,4, ..., 71]
?
在 OCaml 类型系统中没有很好的方法可以做到这一点。您不能映射记录的字段,因为它们可以是所有不同的类型。您的类型 pair_int
看起来很像列表或数组。字段名不添加任何语义内容,字段都是同一类型。您可能会考虑只使用列表或数组。
假设
type pair_int = {l1:int; l2:int, ..., ln:int}
let test = {l1=2; l2=4, ..., ln=71}
我以为我可以做类似 map (fun (x,y) -> y) test
的事情,但它不起作用
如何从 test
中获取列表 [2,4, ..., 71]
?
在 OCaml 类型系统中没有很好的方法可以做到这一点。您不能映射记录的字段,因为它们可以是所有不同的类型。您的类型 pair_int
看起来很像列表或数组。字段名不添加任何语义内容,字段都是同一类型。您可能会考虑只使用列表或数组。