以SML打印到标准输出

以SML打印到标准输出,sml,Sml,我有一个类型为term的值。如何在SML中将其打印到标准输出?您需要首先从术语中创建一个字符串,然后使用print打印该字符串。要将术语转换为字符串,可以定义如下函数: datatype term = node of string*term list | vnode of string fun termToString (node (str, terms)) = "node(" ^ str ^ ", " ^ termListToString terms ^ ")"

我有一个类型为term的值。如何在SML中将其打印到标准输出?

您需要首先从
术语中创建一个字符串,然后使用
print
打印该字符串。要将
术语
转换为字符串,可以定义如下函数:

datatype term = node of string*term list
         | vnode of string
fun termToString (node (str, terms)) =
    "node(" ^ str ^ ", " ^ termListToString terms ^ ")"
  | termToString (vnode str) =
    "vnode(" ^ str ^ ")"
and termListToString terms =
    "[" ^ String.concatWith ", " (map termToString terms) ^ "]"