首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助嵌入FSI

帮助嵌入FSI
EN

Stack Overflow用户
提问于 2011-04-04 16:55:57
回答 1查看 599关注 0票数 0

从这里开始- Embedding F# interactive -我一直在尝试将FSI嵌入到我的应用程序中。

然而,我从StandardOutput那里得到了一些奇怪的东西。

例如,在标准FSI中,如果我发送以下内容:

代码语言:javascript
复制
let a = 3;;

我明白这一点:

代码语言:javascript
复制
[empty line here]
val a : int = 3
[empty line here]
> |

(使用管道表示输入位置)

但是如果我把let a = 3;;发送给StandardInput,我在StandardOutput上得到的结果是:

代码语言:javascript
复制
> 
val a : int = 3
|

其他人有没有试过这个?是不是我做错了什么,如果没有,有什么办法解决这个问题吗?到目前为止,我尝试的所有方法都不起作用,在我尝试我能想到的“更糟糕”的方法之前(在发送邮件后设置一个计时器,在超时时添加>我自己),我想知道是否有更好的方法!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-04 19:19:35

在嵌入F#交互时,Visual Studio使用--fsi-server:<some value>参数。据我所知,这会做两件事:

  • 更改了打印输出的方式(而不是打印>,而是在单独的行上打印SERVER-PROMPT>,因此在需要输入时将其从输出中删除并检测状态会更容易)
  • 它还会启动一些.NET远程处理通道,您可以使用该通道在F#交互中停止命令的执行(例如,如果它运行到无限循环中),并且它还可以提供一些完成信息。

F# F#插件中的MonoDevelop交互式pad使用标志(see source code on GitHub)。我认为它基本上是正确的,但我相信它有时会在输出中打印额外的\n

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5536389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档