垂直制表符的字符文字?

时间:2012-10-19 14:38:02

标签: scala

如何在Scala中为垂直制表符('\ v',ASCII 11)编写字符文字?

'\v'不起作用。 (无效的转义字符) '\11'应该是它,但是......

scala> '\11'.toInt
res13: Int = 9

但9是普通标签('\ t')的ASCII码。那里发生了什么?

编辑:这有效并产生正确的角色,但我仍然想知道文字的语法。

val c:Char = 11

1 个答案:

答案 0 :(得分:11)

您需要使用'\13'。它是八进制的。

有关详细信息,请参阅Scala Language Specification

  

1.3.4字符文字

     

语法:

     

characterLiteral :: ='\''printableChar'\''| '\''charEscapeSeq'\''

     

字符文字是用引号括起来的单个字符。该   character是可打印的unicode字符或由   转义序列(§1.3.6)。

     

示例1.3.4以下是一些字符   文字:'a''\ u0041''\ n''\ t'注意'\ u000A'不是有效的   字符文字,因为Unicode转换是在文字之前完成的   解析和Unicode字符\ u000A(换行)不是   可打印的字符。可以使用转义序列'\ n'或   八进制转义'\ 12'(§1.3.6)。