帮助嵌入FSI

从这里开始 - 嵌入F#interactive - 我一直在尝试在我的应用程序中嵌入FSI。 但是,我从StandardOutput那里得到了奇怪的东西。 例如,在标准FSI中,如果我发送此信息:
let a = 3;;
我得到了回报:
[empty line here]
val a : int = 3
[empty line here]
> |
(使用Pipe表示输入位置) 但是,如果我将
let a = 3;;
发送到StandardInput,我会将其恢复到StandardOutput:
> 
val a : int = 3
|
有没有人试过这个?有什么我做错了,如果没有,有没有办法解决这个问题?到目前为止我没有尝试过任何事情,在我尝试“更糟糕”的事情之前我能想到(在发送东西之后设置一个计时器,在超时时添加>我自己),我想知道是否有一个更好的方法!     
已邀请:
嵌入F#Interactive时,Visual Studio使用
--fsi-server:<some value>
参数。 据我所知,这做了两件事: 更改输出的打印方式(而不是打印
>
,它在单独的行上打印
SERVER-PROMPT>
,因此应该更容易将其从输出中删除并在预期输入时检测状态) 它还启动了一些.NET Remoting通道,您可以使用它来停止在F#Interactive中执行命令(例如,如果它运行到无限循环中),它还可以提供一些完成信息。 MonoDevelop F#插件中的F#Interactive pad使用该标志(请参阅GitHub上的源代码)。我认为它大部分是正确的,但我相信它有时会在输出中打印额外的
n
。     

要回复问题请先登录注册