如何在f#中将浮点值写入文件

bre*_*don 3 f#

我试过以下代码我做错了什么?

// Test IO
// Write a test file
    let str : string[,] = Array2D.init 1 ASize (fun i j -> result.[i,j].ToString() ) 
    System.IO.File.WriteAllLines(@"test.txt", str );
Run Code Online (Sandbox Code Playgroud)

Tom*_*cek 7

Array2D.init你代码中的第一个参数总是1吗?如果是,那么你可以创建一维数组,它将正常工作:

let str = Array.init ASize (fun j -> result.[0,j].ToString() )  
System.IO.File.WriteAllLines("test.txt", str ); 
Run Code Online (Sandbox Code Playgroud)

如果你真的需要一个二维数组写入一个文件,那么你就可以二维数组转换成一维数组.我能想到的最简单的方法是:

let separator = ""
let ar = Array.init (str.GetLength(0)) (fun i -> 
  seq { for j in 0 .. str.GetLength(1) - 1 -> str.[i, j] }
  |> String.concat separator )
Run Code Online (Sandbox Code Playgroud)

这将生成一个一维数组(沿着第一坐标),然后聚集沿着第二元素坐标.它使用String.concat,因此您可以在一行上指定项目之间的分隔符.