当前位置:  开发笔记 > 开发工具 > 正文

F#将字符串传递给List

如何解决《F#将字符串传递给List》经验,为你挑选了1个好方法。

在F#中,您可以通过|>运算符将字符串传递给int,如下所示:

"54" |> int

我想知道是否有办法为列表这样做:

"[4;2;3]" |> list

当尝试为列表执行此操作时,错误的是未定义值或构造函数.

也许这根本不可能?



1> TheQuickBrow..:

int 是一个可以将字符串(和其他东西)转换为int的函数.

没有内置函数调用list.要创建列表,您可以使用列表文字语法:[4;2;3]

如果你需要解析一个字符串"[4;2;3]",int list那么你就是自己.你需要编写代码才能做到这一点.例如:

let parseIntList (str:string) =
    let trimmed = str.Trim()
    if not (trimmed.StartsWith "[" && trimmed.EndsWith "]") then failwith "Not a list"
    trimmed.[1 .. trimmed.Length - 2].Split ';'
    |> Array.map int
    |> Array.toList

此功能适用于您的示例,但对于其他有效输入可能会失败.


这是一个定义的函数:https://github.com/fsharp/fsharp/blob/4.0.1.20/src/fsharp/FSharp.Core/prim-types.fs#L4298
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有