6.1.3. 引用
未加引号的字符串是不包含任何空格,制表符,回车符或换行符,单引号或双引号字符,分号(“;
”),大括号(“{
”或“}
”)的任何字符序列,或注释序列(“//
”,“/*
”或“*/
”)。
请注意,任何关键字都可以合法显示为未加引号的字符串。
在不带引号的字符串中,每个字符都被保留。请注意,这意味着反斜杠字符在没有引号的字符串中没有任何特殊含义。
如果双引号字符串包含换行符,后跟用于根据YANG
文件中的布局缩进文本的空格或制表符,则会将该前导空白符从字符串中删除,直到包括起始列双引号字符或第一个非空白字符,以先发生者为准。必须检查剥离的后续行中的任何制表符首先被转换为8
个空格字符。
如果双引号字符串在换行符之前包含空格或制表符,则将从字符串中除去该尾随的空格。
单引号字符串(用' '
括起来)保留引号内的每个字符。单引号字符不能出现在单引号字符串中,即使前面加了反斜杠。
在双引号字符串(用" "
括起来)中,反斜杠字符引入了一个特殊字符的表示,该字符取决于紧跟在反斜杠后面的字符:
\n
换行符\t
制表符\"
一个双引号\\
一个反斜杠
反斜杠不能跟随任何其他字符。
如果引用的字符串后跟加号(“+
”),后跟另一个带引号的字符串,则这两个字符串将连接成一个字符串,从而允许多个连接来构建一个字符串。被引用的字符串和加号字符之间允许有空格,换行符和注释。
在双引号字符串中,空白修剪在替换反斜线转义字符之前完成。连接是作为最后一步执行的。
6.1.3.1. 引用例子
以下字符串是等效的:
hello
"hello"
'hello'
"hel" + "lo"
'hel' + "lo"
以下示例显示了一些特殊的字符串:
"\""
- 包含双引号的字符串'"'
- 包含双引号的字符串"\n"
- 包含换行符的字符串'\n'
- 包含反斜杠后跟字符n
的字符串
以下示例显示了一些非法字符串:
''''
- 单引号字符串不能包含单引号"""
- 一个双引号必须用双引号字符串转义
以下字符串是等效的:
"first line
second line"
"first line\n" + " second line"