提示输入字符串并读取然后在 OCaml 中显示

Prompt for string and read and then display in OCaml

我花了几天时间研究 OCaml

let prompt_user() = print_string "Enter a string\n";;
let read_user_input2() =
  prompt_user();
  input_line stdin;;

当运行时,没有任何反应,但我可以开始输入信息。只有输入字符串后才会出现实际提示:

# read_user_input();;
hello
Enter a string
You entered hello
- : string = "hello"
#

谁能告诉我应该如何重新排序我的程序,以便在输入阶段之前出现提示?

多次 TIA

标准输出通道被缓冲,但print_string不刷新缓冲区。 print_endlineprint_newline 确实如此,当然 flush 也是如此,因此其中任何一个都应该有效:

let prompt_user () = print_endline "Enter a string"
let prompt_user () =
  print_string "Enter a string";
  print_newline ()
let prompt_user () =
  print_string "Enter a string\n";
  flush stdout