printing - 标准ML打印控制字符

标签 printing casting sml smlnj control-characters

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

当我尝试时:

print "\^C";

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

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

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

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

最佳答案

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

如果您希望将char 直接转换为string,您需要使用str。功能。

关于printing - 标准ML打印控制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23114650/

相关文章:

sml - 令人困惑的类型声明?

sml - `type variables` 出现在 SML 中的 `val` 声明语句中时意味着什么

java - 如何去除打印页面的边距

java - 使用 javascript 仅打印 html 表格

Python Selenium 打印另存为 PDF 等待文件名输入

c# - 如何将变量转换为与动态变量相同的类型?

sml - 数据类型的未绑定(bind)类型构造函数

C从文件中读取

java - Java中的显式类型转换示例

java - 为什么我不能从 char 类型转换为 int?