Translations:Binds/10/zh: Difference between revisions

From DDraceNetwork
No edit summary
No edit summary
 
Line 1: Line 1:
您可以使用一对'''双引号'''将一条绑定嵌套在另一绑定中,但是由于英文的双引号没有正反的区分,同时存在多对双引号的句子可能产生歧义,为此需要使用转义字符反斜杠 '''\''' 区分不成对的双引号,下面这个例子展示了两层嵌套的情况:
您可以使用一对'''双引号'''将一条绑定嵌套在另一绑定中,但是由于英文的双引号没有正反的区分,同时存在多对双引号的句子可能产生歧义,为此需要使用转义字符反斜杠 '''\''' 区分不成对的双引号,下面这个例子展示了两层嵌套的情况:
  bind {{color|green|[按键]}} {{color|red|"}}bind {{color|green|[按键]}} {{color|orange|\}}{{color|red|"}}{{color|blue|[设置/指令]}} {{color|purple|[参数]}}{{color|red|;}} bind {{color|green|[按键]}} {{color|orange|\\\}}{{color|red|"}}{{color|blue|[设置/指令]}} {{color|purple|[参数]}} {{color|orange|\\\}}{{color|red|"}}{{color|orange|\}}{{color|red|""}}
  bind {{color|green|[按键]}} {{color|red|"}}bind {{color|green|[按键]}} {{color|orange|\}}{{color|red|"}}{{color|blue|[设置/指令]}} {{color|purple|[参数]}}{{color|red|;}} bind {{color|green|[按键]}} {{color|orange|\\\}}{{color|red|"}}{{color|blue|[设置/指令]}} {{color|purple|[参数]}} {{color|orange|\\\}}{{color|red|"}}{{color|orange|\}}{{color|red|""}}
可以看到在第二层嵌套时使用的反斜杠是三个而不是两个,这是因为根据语法规范,被双引号引用的句子里的特殊字符需要进行转义,也就是说特殊字符比如双引号需要在其前面添加一个反斜杠,但是反斜杠也是特殊字符,在上述例子中,连续三个斜杠的奇数(单数)位置的斜杠是用来转义的,第一个斜杠对第二个斜杠进行了转义,第三个斜杠对双引号进行了转义,于是第二个反斜杠和双引号从带有特定功能的特殊字符转变为普通的没有功能的字符,这两个字符变成了和第一层嵌套一样的结构。客户端的字符长度限制为255,而每一层嵌套的反斜杠数量为上一层的反斜杠数量乘二加一,其'''原因'''会在后文说明。倘若您使用六层嵌套,反斜杠数量将会是240个(1*2 + 3*2 + 7*2 + 15*2 + 31*2 + 63*2),这样您只剩15个字符可键入,因此只能接受最多五层嵌套。每一层的反斜杠数量如下:
可以看到在第二层嵌套时使用的反斜杠是三个而不是两个,这是因为根据语法规范,被双引号引用的句子里的特殊字符需要进行转义,也就是说特殊字符比如双引号本身需要在其前面添加一个反斜杠,但是反斜杠也是特殊字符,在上述例子中,连续三个斜杠的奇数(单数)位置的斜杠是用来转义的,第一个斜杠对第二个斜杠进行了转义,第三个斜杠对双引号进行了转义,于是第二个反斜杠和双引号从带有特定功能的特殊字符转变为普通的没有功能的字符,这两个字符变成了和第一层嵌套一样的结构。客户端的字符长度限制为255,而每一层嵌套的反斜杠数量为上一层的反斜杠数量乘二加一,其'''原因'''会在后文说明。倘若您使用六层嵌套,反斜杠数量将会是240个(1*2 + 3*2 + 7*2 + 15*2 + 31*2 + 63*2),这样您只剩15个字符可键入,因此只能接受最多五层嵌套。每一层的反斜杠数量如下:

Latest revision as of 01:39, 3 July 2023

Information about message (contribute)
This message has no documentation. If you know where or how this message is used, you can help other translators by adding documentation to this message.
Message definition (Binds)
You can nest multiple quoted strings in a single line by escaping each new set of quotes with backslashes.
 bind <span style="color:green">[key]</span> <span style="color:red">"</span>bind <span style="color:green">[key]</span> <span style="color:orange">\</span><span style="color:red">"</span><span style="color:blue">[command/setting]</span> <span style="color:purple">[value]</span><span style="color:red">;</span> bind <span style="color:green">[key]</span> <span style="color:orange">\\\</span><span style="color:red">"</span><span style="color:blue">[command/setting]</span> <span style="color:purple">[value]</span> <span style="color:orange">\\\</span><span style="color:red">"</span><span style="color:orange">\</span><span style="color:red">""</span>
As the quoted strings go deeper, you also need to escape the backslash.  Since each new layer will again un-escape them, you need to double the amount of backslashes per layer.  The maximum amount of layers you can use is '''5''' before the console gives you an error.  This is because the console has a maximum character limit of '''255'''.  The amount of backslashes for 6 layers is '''240''' (1*2 + 3*2 + 7*2 + 15*2 + 31*2 + 63*2), leaving you with only '''15''' characters.

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

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

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