Character literal for vertical tab?

scala

Solution

You need to use `'\13'`. It's in octal.

For more information see Scala Language Specification.

1.3.4 Character Literals

Syntax:

characterLiteral ::= ‘\’’ printableChar ‘\’’ | ‘\’’ charEscapeSeq ‘\’’

A character literal is a single character enclosed in quotes. The character is either a printable unicode character or is described by an escape sequence (§1.3.6).

Example 1.3.4 Here are some character literals: ’a’ ’\u0041’ ’\n’ ’\t’ Note that ‘\u000A’ is not a valid character literal because Unicode conversion is done before literal parsing and the Unicode character \u000A (line feed) is not a printable character. One can use instead the escape sequence ‘\n’ or the octal escape ‘\12’ (§1.3.6).

Problem

How can I write a character literal for a vertical tab ('\v', ASCII 11) in Scala? `'\v'` doesn't work. (invalid escape character) `'\11'` should be it, but... ``` scala> '\11'.toInt res13: Int = 9 ``` But 9 is the ASCII code for a normal tab('\t'). What is going on there? EDIT: This works and produces the right character, but I'd still like to know the syntax for a literal. ``` val c:Char = 11 ```

Original source