【问题标题】:ocaml top: getting user's inputocaml top:获取用户的输入
【发布时间】:2014-02-23 11:37:05
【问题描述】:

您能告诉我如何在 Ocaml-top 中获取用户的输入吗?

可以在这个链接找到:http://www.typerex.org/ocaml-top.html

我是 Ocaml 的初学者,我正在尝试让用户输入运行 this example

这是代码:

let rec hilo n =
     let () = print_string "type a number: " in
     let i = read_int () 
     in 
       if i = n then 
         let () = print_string "BRAVO" in
         let () = print_newline ()
         in print_newline ()
       else 
         let () = 
           if i < n then 
             let () = print_string "Higher"
             in print_newline () 
           else 
             let () = print_string "Lower"
             in print_newline ()
         in hilo n ;;

但是程序停在Type a number

【问题讨论】:

    标签: ocaml typerex


    【解决方案1】:

    这是不可能的。 OCaml-top 通过标准输入将其命令发送到 ocaml 解释器,并且 read_int 也读取标准输入上的输入。这个问题在https://github.com/OCamlPro/ocaml-top/issues/45进行跟踪

    【讨论】:

    • 那么就无法获取用户的输入...这意味着我需要从命令行运行。哦,亲爱的...
    • 问题出在哪里?在顶层,只需输入let i = ... 并删除此代码中的i 声明行。
    【解决方案2】:

    尝试从命令提示符运行它。 在命令提示符中键入此命令:ocaml filename.ml 只有在环境变量中设置了路径才能使用。

    【讨论】:

    • 我已经尝试过了,但我仍然无法获得用户输入!有什么想法吗??
    【解决方案3】:

    我有这个工作,与上面文件的差异为零

    $ ocaml
    

    启动解释器

    # #directory "/home/wherever-your-OCaml-stuff-is";;
    

    是的,输入额外的 # 和 ;;

    # #use "hilo.ml";;
    

    不需要编译任何东西

    # hilo 24356256456;;
    

    这不是一个猜谜游戏......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 2022-01-20
      • 1970-01-01
      • 2015-12-09
      • 2015-12-26
      • 2014-11-21
      • 2016-10-01
      • 2014-06-05
      相关资源
      最近更新 更多