【发布时间】:2023-09-20 19:16:01
【问题描述】:
datatype term = node of string*term list
| vnode of string
我有一个 term 类型的值。如何在 SML 中将其打印到标准输出?
【问题讨论】:
标签: sml
datatype term = node of string*term list
| vnode of string
我有一个 term 类型的值。如何在 SML 中将其打印到标准输出?
【问题讨论】:
标签: sml
您需要先从term 创建一个字符串,然后使用print 打印它。要将term 转换为字符串,您可以定义如下函数:
fun termToString (node (str, terms)) =
"node(" ^ str ^ ", " ^ termListToString terms ^ ")"
| termToString (vnode str) =
"vnode(" ^ str ^ ")"
and termListToString terms =
"[" ^ String.concatWith ", " (map termToString terms) ^ "]"
【讨论】: