如何在sml中打印变量?

时间:2015-02-13 23:49:44

标签: sml smlnj

我是SML的新手并且在调试中我经常打印出变量以查看它是否符合我的预期。 我想在函数中打印出一个变量 我拥有的是这个:
功能标题..

let val prod 
 val prod = c + x * y;
in 
 (print "product "; prod mod 10):: (multiplyAux (prod div 10) xs y)
end;


现在它正在打印字符串产品,但我希望能够打印变量prod本身。

1 个答案:

答案 0 :(得分:4)

print唯一可以打印的是字符串。因此,要打印数值,必须先将其转换为字符串。例如:

- print("product " ^ (Int.toString (43 mod 5)) ^ "\n");
product 3
val it = () : unit

请注意,Int.toString使用curried函数语法(即它的参数不需要元组),因此43 mod 5周围的括号是使值清除而不是Int.toString工作

- Int.toString 5;
val it = "5" : string