【问题标题】:Standard ML printing control characters标准 ML 打印控制字符
【发布时间】:2014-04-16 16:06:52
【问题描述】:

所以我偶然发现了一个看起来很奇怪的小问题。我想打印控制字符,它应该打印那个奇怪的小框,表明我正在尝试打印一个不可打印的字符。

当我尝试时:

print "\^C";

它工作正常。但是,当我这样做时:

print (Char.toString(#"\^C"));

它按字面意思打印“\^C”。这对我来说没有任何意义,他们不应该打印同样的东西吗? Char.toString 不会将字符转换为包含一个字符的字符串,而是将其转换为包含 3 个字符的字符串,'\'、'^' 和 'C'。

有人能向我解释一下这种行为吗?谢谢。

【问题讨论】:

    标签: printing casting sml smlnj control-characters


    【解决方案1】:

    这是因为Char.toString 返回字符的可打印表示。

    如果您希望直接从char 转换为string,您需要使用str 函数。

    【讨论】:

      猜你喜欢
      • 2012-03-21
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多