Translations:Binds/10/zh

From DDraceNetwork
Revision as of 01:28, 3 July 2023 by Darkh (talk | contribs)

您可以使用一对双引号将一条绑定嵌套在另一绑定中,但是由于英文的双引号没有正反的区分,同时存在多对双引号的句子可能产生歧义,为此需要使用转义字符反斜杠\区分不成对的双引号,下面这个例子展示了两层嵌套的情况:

bind [按键] "bind [按键] \"[设置/指令] [参数]; bind [按键] \\\"[设置/指令] [参数] \\\"\""

可以看到在第二层嵌套时使用的反斜杠是三个而不是两个,这是因为根据语法规范,被双引号引用的句子里的特殊字符需要进行转义,也就是说特殊字符比如双引号需要在其前面添加一个反斜杠,但是反斜杠也是特殊字符,在上述例子中,连续三个斜杠的奇数(单数)位置的斜杠是用来转义的,第一个斜杠对第二个斜杠进行了转义,第三个斜杠对双引号进行了转义,于是第二个反斜杠和双引号从带有特定功能的特殊字符转变为普通的没有功能的字符,这两个字符变成了和第一层嵌套一样的结构。客户端的字符长度限制为255,而每一层嵌套的反斜杠数量为上一层的反斜杠数量乘二加一,其原因会在后文说明。倘若您使用六层嵌套,反斜杠数量将会是240个(1*2 + 3*2 + 7*2 + 15*2 + 31*2 + 63*2),这样您只剩15个字符可键入,因此只能接受最多五层嵌套。每一层的反斜杠数量如下: