我是SML的新手并且在调试中我经常打印出变量以查看它是否符合我的预期。
我想在函数中打印出一个变量
我拥有的是这个:
功能标题..
let val prod
val prod = c + x * y;
in
(print "product "; prod mod 10):: (multiplyAux (prod div 10) xs y)
end;
现在它正在打印字符串产品,但我希望能够打印变量prod本身。
答案 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