Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 在F生成器中获取空值_F#_F# Interactive_Fscheck - Fatal编程技术网

F# 在F生成器中获取空值

F# 在F生成器中获取空值,f#,f#-interactive,fscheck,F#,F# Interactive,Fscheck,我对这段代码有问题,我试图生成非空字符串列表,如下所示: let! x = Arb.generate<string> |> Gen.filter(fun (x) -> x<>null && x <>""&& x<>" ")|>Gen.nonEmptyListOf 运行代码后,我得到以下输出: val it : string list [] = [|["""; ")"; ":}E"; "B";

我对这段代码有问题,我试图生成非空字符串列表,如下所示:

let! x = Arb.generate<string> |> Gen.filter(fun (x) -> x<>null && x <>""&& x<>" ")|>Gen.nonEmptyListOf 
运行代码后,我得到以下输出:

val it : string list [] =
  [|["""; ")"; ":}E"; "B"; "!"; "v"; "re"; "Dv-"; ""; "";
     "eALyb|>Jn %;a="v`m:<="; ""; ""; ""]|]
正如您所看到的,我的代码正在生成空字符串


请告诉我如何解决此问题?

我认为您得到的结果实际上并不包含空字符串,而是包含一个带有不可见字符的字符串

要测试这一点,您可以尝试运行以下程序:

let gen = 
  Arb.generate<string> 
  |> Gen.filter(fun (x) -> x<>null && x <>""&& x<>" ")|>Gen.nonEmptyListOf 
let res = Gen.eval 1000 (Random.mkStdGen(42L)) gen

我认为您得到的结果实际上并不包含空字符串,而是包含一个带有不可见字符的字符串

要测试这一点,您可以尝试运行以下程序:

let gen = 
  Arb.generate<string> 
  |> Gen.filter(fun (x) -> x<>null && x <>""&& x<>" ")|>Gen.nonEmptyListOf 
let res = Gen.eval 1000 (Random.mkStdGen(42L)) gen