我是F#的新手,目前想知道如何将序列的字节序列转换为浮点序列序列
seq< seq< byte> -> seq< seq< float>
所以我有以下字节序列
let colourList = seq[ seq[10uy;20uy;30uy]; seq[50uy;60uy;70uy] ]
我尝试过使用
colourList |> Seq.map System.Double.Parse
使用float元素创建一个新序列,但它不起作用。有谁可以帮助我吗?我好几天都被困在这个。
答案 0 :(得分:4)
System.Double.Parse
是将字符串映射到float的函数。你在这里寻找的是一个映射byte -> float
的函数。该函数名为:float
。
答案可能是:
let colourList = [[10uy;20uy;30uy]; [50uy;60uy;70uy]]
let floatList = List.map (List.map float) colourList
我们使用.map
操作将map函数应用于序列中的每个元素。
由于你有两个嵌套序列,我们需要两个嵌套的.map
操作才能完成你需要的映射。
List.map float
是一个映射内部序列的函数:byte list -> float list
我们使用List.map (List.map float)
将此函数应用于外部序列,以实现:byte list list -> float list list