0
我有一个数据,如:修改列表的列表OCaml中
3 11 12
15 13 14 15
我从文件的阅读:
let print data =
List.iter (fun l -> printf "%[email protected]" (String.concat " " l)) data
let read filename =
let ch = open_in filename in
let data = Lexer.lex [] (Lexing.from_channel ch) in
close_in ch;
print data
出放为
3 11 12
15 13 14 15
- >它是一个列表中的列表
而我的问题是当我wa nt修改列表中的列表,它不起作用。例如:
let remove = function
h :: t -> t
;;
let print data =
List.iter (fun l -> remove l; printf "%[email protected]" (String.concat " " l)) data
请帮我解决它。 谢谢你这么多
谢谢你,这是工作。我可以问为什么? – vent 2014-12-04 18:42:28
删除l不修改l,它返回一个列表。其他的一点:函数remove是来自标准lib的List.tl - 你的remove函数不会在我的结尾编译(不是全部匹配)。 – 2014-12-04 18:48:36