我正在将文件读入如下数组(注意我知道这是错误的代码):
let filename = if argv.[0] != null then argv.[0] else System.Console.ReadLine()
let data = File.ReadAllLines(filename)
我想对上面一行返回的数据执行F#map
。我的问题是我只能在n F#列表上执行map
,而不能System.String[]
返回File.ReadAllLines()
。我可以将标准.Net数组转换为F#列表。我确信我可以用不同的方式读取文件,或者通过手动将数组内容复制到列表来完成工作,但如果有一种简单的方法可以做到这一点会更容易。
答案 0 :(得分:5)
您可以使用Array.toList
来执行此操作。
let data2 = data |> Array.toList
或者您可以使用List.ofArray
let data2 = data |> List.ofArray
您也可以Array.map
代替List.map
,在这种情况下,您可能根本不需要映射到list
。
答案 1 :(得分:2)