String 拆分OCaml中的字符串列表

String 拆分OCaml中的字符串列表,string,list,ocaml,String,List,Ocaml,我的列表是let a=[“q0,x”;“q1,y”]类型为字符串列表 我想把它做成[(“q0”,“x”);(“q1”,“y”)是(string*string)元组的列表 我该怎么做???您可以使用模块和函数拆分: let split = List.map (fun str -> match Str.split (Str.regexp ",") str with | a :: b :: _ -> a, b | _ -> asse

我的列表是
let a=[“q0,x”;“q1,y”]类型为
字符串列表

我想把它做成
[(“q0”,“x”);(“q1”,“y”)
(string*string)
元组的列表

我该怎么做???

您可以使用模块和函数
拆分

let split = 
   List.map (fun str ->
      match Str.split (Str.regexp ",") str with
        | a :: b :: _ -> a, b
        | _ -> assert false (* should not happen *))
您可以使用模块和功能
split

let split = 
   List.map (fun str ->
      match Str.split (Str.regexp ",") str with
        | a :: b :: _ -> a, b
        | _ -> assert false (* should not happen *))

您熟悉List.map函数吗?然后在此处签出ocaml标准库:。基本上,列表中的每个元素都将被拆分,其中找到“,”并作为列表返回,因此“q0,x”将变成[q0;x]。模式匹配识别第一个和第二个元素,并检查列表中是否只有2个元素。当模式匹配时,返回元组。您应该尝试从头开始学习OCaml。检查一下,你会发现一些非常好的教程的链接。你熟悉List.map函数吗?然后在此处签出ocaml标准库:。基本上,列表中的每个元素都将被拆分,其中找到“,”并作为列表返回,因此“q0,x”将变成[q0;x]。模式匹配识别第一个和第二个元素,并检查列表中是否只有2个元素。当模式匹配时,返回元组。您应该尝试从头开始学习OCaml。检查一下,你会发现一些非常好的教程的链接。