fsi(FSharp interactive)安静模式

NoI*_*his 3 f# fsi

如何将F#Interactive控制台的输出限制为我自己的输出?

在我当前的设置中,fsi在脚本中运行时会写入大量信息(关于数据结构的类型和内容).我试过安静的模式没有成功.

谢谢!

Dan*_*iel 5

您可以将ShowDeclarationValues,ShowPropertiesShowIEnumerable设置为false.

您仍然可以看到类型,但不是内容(通常是输出的大部分).

#if INTERACTIVE
fsi.ShowDeclarationValues <- false
fsi.ShowProperties <- false
fsi.ShowIEnumerable <- false
#endif
Run Code Online (Sandbox Code Playgroud)


Gen*_*ski 5

另一种非常规方法可能如下:

  • 使用选项解雇您的 FSI--quiet
  • 而不是printfeprintf你自己的输出,效果会是你问什么

在脚本中

eprintfn "Testing: %n" 123
Run Code Online (Sandbox Code Playgroud)

在 FSI 窗口

Testing: 123
Run Code Online (Sandbox Code Playgroud)

任何其他但真实的错误消息输出根本不会出现在 FSI 窗口中,包括所有评估结果;同时printf,您仍然可以使用所有便利,包括熟悉的格式。

更新:发布了一个进一步的增强功能,允许对 FSI 输出的正常和“安静”模式使用不变的输出代码。