【问题标题】:Is it possible to get the string representation of a generic variable in sml是否可以在 sml 中获取泛型变量的字符串表示形式
【发布时间】:2013-01-20 23:46:21
【问题描述】:

我已经编写了一个泛型函数,现在我想要泛型变量的字符串表示。有没有简单的方法获得它们?

例如:

fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)

这基本上就是我想做的。

因此,如果使用("hello", true") 调用该方法,我想要“hellotrue”。如果有更复杂的结构,我希望尽可能打印出来。

【问题讨论】:

    标签: sml


    【解决方案1】:

    简短的回答是否定的。

    与 Haskell 不同,SML 没有类型类,并且无法派生例如显示新类型。

    “唯一”的方法是为您创建的每种类型创建一个特定的 show 或 toString 函数。 我说“只有”,因为 MLton 在type indexed values 上有一篇非常不错的文章

    【讨论】:

    • 这正是我最终得到的结果,每种类型都有一个函数。
    • This question 解决了一些相同的问题,尽管它是在比较中。结论是一样的,在为更“复杂”的类型构建 toString 函数时,只需使用“简单”的 toString 函数即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2013-11-05
    相关资源
    最近更新 更多