[英]String list to Int List parsing
我有一个看起来像这样的字符串列表
String list = ["150";"350";"100"]
我现在试图将其解析为一个int列表,以便我可以获取值并使用它们进行计算。 我现在遇到的问题是f#的新手,不确定如何执行此操作。 我正在考虑制作一个折叠函数,该函数对列表中的每个值运行System.Int32.Parse
let listParser list = List.fold (fun listParser a -> (System.Int32.Parse a) :: intlist) list
这个函数给了我String list-> Int list,但是当我运行这个函数的时候我得到了
stdin(105,12): error FS0001: This expression was expected to have type
int list
but here has type
string -> string list
还有更好的方法吗? 感谢任何形式的帮助!
您正在寻找的是List.map函数:
let list = ["150";"350";"100"]
let listOfInts = List.map System.Int32.Parse list
使用lambda,第二行是
let listOfInts = List.map (fun a -> System.Int32.Parse a) list
但在这种情况下,您不需要lambda。
在F#中使用集合时,通常使用管道前移运算符,如下所示:
let listOfInts = list |> List.map System.Int32.Parse
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.