如何在 Scala 中为垂直制表符('\v',ASCII 11)编写字符文字?
'\v'
不起作用。(无效的转义字符)
'\11'
应该是它,但是......
scala> '\11'.toInt
res13: Int = 9
但 9 是普通制表符 ('\t') 的 ASCII 码。那里发生了什么?
编辑:这有效并产生正确的字符,但我仍然想知道文字的语法。
val c:Char = 11
如何在 Scala 中为垂直制表符('\v',ASCII 11)编写字符文字?
'\v'
不起作用。(无效的转义字符)
'\11'
应该是它,但是......
scala> '\11'.toInt
res13: Int = 9
但 9 是普通制表符 ('\t') 的 ASCII 码。那里发生了什么?
编辑:这有效并产生正确的字符,但我仍然想知道文字的语法。
val c:Char = 11
你需要使用'\13'
. 它是八进制的。
有关更多信息,请参阅Scala 语言规范。
1.3.4 字符文字
句法:
characterLiteral ::= '\'' printableChar '\'' | '\'' charEscapeSeq '\''</p>
字符文字是用引号括起来的单个字符。该字符要么是可打印的 unicode 字符,要么由转义序列(第 1.3.6 节)描述。
示例 1.3.4 以下是一些字符文字: 'a' '\u0041' '\n' '\t' 请注意,'\u000A' 不是有效的字符文字,因为 Unicode 转换是在文字解析和 Unicode 字符 \ 之前完成的u000A(换行)不是可打印字符。可以使用转义序列 '\n' 或八进制转义符 '\12' (第 1.3.6 节)。