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