首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在visual studio中使用f# interactive读取用户输入?

如何在visual studio中使用f# interactive读取用户输入?
EN

Stack Overflow用户
提问于 2011-11-06 03:01:53
回答 4查看 15K关注 0票数 5

所以我试着做一些简单的事情:

代码语言:javascript
运行
复制
 printfn "Enter a number:"
    try
       let x = System.Console.ReadLine();
       Some(int32(x))
    with
       | :? System.FormatException -> printfn "Invalid number!"
                                      Some(0)

我想打印消息,然后让用户输入一个数字,并尝试将其转换为int并返回它。

如果我只是编译代码(通过在命令行上输入fsc a3.fs ),它就能正常工作。它暂停,等待输入,然后返回一些(Int)。

如果我在命令行上将代码复制并粘贴到FSI中,它会工作得很好。

但当我在visual studio中运行FSI (高亮显示+ alt+enter)中的代码时,它只是直接经过输入部分,然后抛出(并捕获)异常。

下面是我在FSI (在visual studio中)中运行时的输出:

代码语言:javascript
运行
复制
Enter a number:
Invalid number!
0

正如你所看到的,它实际上不会暂停并等待我输入。

有人知道怎么做吗?

谢谢!

EN

Stack Overflow用户

发布于 2011-11-06 05:44:43

如果您将F# interactive作为自己的进程打开(通过直接运行fsi.exe,代码就可以正常工作--下面是我的遭遇:

代码语言:javascript
运行
复制
> printfn "Enter a number:"
- let r =
-     try
-        let x = System.Console.ReadLine();
-        Some(int32(x))
-     with
-        | :? System.FormatException -> printfn "Invalid number!"
-                                       Some(0)
- ;;
Enter a number:
5

val r : int32 option = Some 5
票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8022512

复制
相关文章

相似问题

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