Печать на стандартный вывод в SML - PullRequest
2 голосов
/ 18 марта 2011
datatype term = node of string*term list
         | vnode of string

У меня есть значение типа term .Как распечатать его в формате SML на стандартный вывод?

1 Ответ

3 голосов
/ 18 марта 2011

Вам необходимо сначала создать строку из 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) ^ "]"
...