【问题标题】:Print to standard output in SML以 SML 打印到标准输出
【发布时间】:2023-09-20 19:16:01
【问题描述】:
datatype term = node of string*term list
         | vnode of string

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

【问题讨论】:

    标签: sml


    【解决方案1】:

    您需要先从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) ^ "]"
    

    【讨论】: