【发布时间】:2013-11-05 05:05:47
【问题描述】:
我正在尝试用 SML 编写一个程序,该程序将从用户那里读取一系列/列表/序列的数字,处理数字并输出结果。我不知道用户会输入多少个数字。程序既可以读入所有数字并一起输出结果,也可以一次读取并输出一个。我不在乎输入是在单独的文件中还是在控制台手动输入。
我需要做什么才能读取输入?
fun fact x = if x<2 then 1 else x*fact(x-1);
let val keepgoing:bool ref = ref true in
while !keepgoing do
let val num = valOf(TextIO.inputLine TextIO.stdIn) in
print( Int.toString( fact( valOf( Int.fromString( num ) ) ) ) );
keepgoing := (null(explode(num)))
end
end;
对于令人费解的转换,我们深表歉意。如果您还知道一种更简单的整数读取方法,我也将不胜感激。
【问题讨论】: