Sml 以Poly/ML打印Unicode字符
如何在SML(使用Poly/ML)中打印小写希腊文 我尝试了以下方法:Sml 以Poly/ML打印Unicode字符,sml,polyml,Sml,Polyml,如何在SML(使用Poly/ML)中打印小写希腊文 我尝试了以下方法: print "ε"; (* Error-unprintable character found in file *) print "\u03B5"; (* Error-Conversion exception (Invalid string constant) raised while converting \u03B5 to string *) 难道这根本不可能吗?当然,终端的工作是实际渲染字符,因此,应该可以将原始字符
print "ε"; (* Error-unprintable character found in file *)
print "\u03B5"; (* Error-Conversion exception (Invalid string constant) raised while converting \u03B5 to string *)
难道这根本不可能吗?当然,终端的工作是实际渲染字符,因此,应该可以将原始字符代码打印到标准输出?Unicode转义序列
\u03B5
对应于UTF-16
您的终端可能运行UTF-8,其中ε为0xCE 0xB5。以十进制字节的形式输入:
> print "\206\181\n";
ε
谢谢-值得注意的是,String.size函数会将这些字节视为两个独立的字符,因此,如果您想在打印时正确计算字符串的长度,就必须编写自己的函数。我在(将.sml后缀替换为.sig以查看签名)。