【发布时间】:2013-01-20 23:46:21
【问题描述】:
我已经编写了一个泛型函数,现在我想要泛型变量的字符串表示。有没有简单的方法获得它们?
例如:
fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)
这基本上就是我想做的。
因此,如果使用("hello", true") 调用该方法,我想要“hellotrue”。如果有更复杂的结构,我希望尽可能打印出来。
【问题讨论】:
标签: sml
我已经编写了一个泛型函数,现在我想要泛型变量的字符串表示。有没有简单的方法获得它们?
例如:
fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)
这基本上就是我想做的。
因此,如果使用("hello", true") 调用该方法,我想要“hellotrue”。如果有更复杂的结构,我希望尽可能打印出来。
【问题讨论】:
标签: sml
简短的回答是否定的。
与 Haskell 不同,SML 没有类型类,并且无法派生例如显示新类型。
“唯一”的方法是为您创建的每种类型创建一个特定的 show 或 toString 函数。 我说“只有”,因为 MLton 在type indexed values 上有一篇非常不错的文章
【讨论】: