如何在SML中获取整数作为用户输入

时间:2017-03-28 16:59:44

标签: smlnj

  

我试图从用户那里获取一个号码。然后使用该数字   调用另一个函数randomList(n),它接受​​给定的数字和   使用它。我一直收到错误exception option。我已经读过了   将SOME添加到变量声明或valOf可以解决此问题,   但它不适合我。我需要改变什么?

fun getNumber() = 
print "Please enter the number of integers: ";
let
    val str = valOf (TextIO.inputLine TextIO.stdIn)
    val i : int = valOf (Int.fromString str)
    in 
    randomList(i)
end;
getNumber();

1 个答案:

答案 0 :(得分:0)

此处的问题是fun getNumber()仅包含以下行中的print语句。如果您希望它们都是print的一部分,则需要将letgetNumber()括在括号内。

例如,以下代码编译并回显通过stdin传入的输入整数:

fun getNumber() = (
print "Please enter the number of integers: ";
let
    val str = valOf (TextIO.inputLine TextIO.stdIn)
    val i : int = valOf (Int.fromString str)
in
    print(Int.toString(i))
end
);
getNumber();