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個字符可鍵入,因此只能接受最多五層嵌套。每一層的反斜槓數量如下: