diff --git a/.markdownlint.json b/.markdownlint.json index 672fd99f3..7a2405e4e 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -9,7 +9,8 @@ "allowed_elements": [ "Badge", "ChatBox", - "img" + "img", + "br" ] }, "MD051": false, diff --git a/docs/advanced/edit_reply.md b/docs/advanced/edit_reply.md index e7950fff3..d532106ec 100644 --- a/docs/advanced/edit_reply.md +++ b/docs/advanced/edit_reply.md @@ -171,15 +171,15 @@ if $t测试!=2&&$t测试!=1 {$t输出="群主女装"} ::: tip 提示:容易误解的 if 使用 -目前海豹语并不支持 `else if`,`if` 和 `else` 是一对一匹配的。所以当形如: +目前海豹语并不支持 `else if` / `elif`,`if` 和 `else` 是一对一匹配的。所以当形如: ```text -if xxx {xxx}; -if xxx {xxx} -else {xxx} +if <条件 1> {<执行 1>}; +if <条件 2> {<执行 2>} +else {<执行 3>} ``` -的语句出现时,并不是 `if elseif elseif else` 的关系!即使满足了第一个 `if`,其结果也是执行 `else` 中的内容! +的语句出现时,第二个 `if` 与 `else` 为一个整体,且不与第一个 `if` 构成 `if elseif else` 的关系!即使 `<条件 1>` 满足,其仍会对 `<条件 2>` 进行判断,并在 `<执行 2>` 与 `<执行 3>` 中择一执行! ::: @@ -250,9 +250,9 @@ if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… }; ::: -### 多回复行的错误使用 +### 多行回复的错误使用 -以踢海豹为例,这一自定义回复的多行输出实现上并不是: +自定义回复中的多行输出通常并不是: ```text {$t输出0} @@ -261,7 +261,7 @@ if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… }; {$t输出3} ``` -而是在为四个 `$t输出` 变量赋值时,于内部写上 `\n`,采用 `{$t输出0}{$t输出1}{$t输出2}{$t输出3}` 的形式。 +而是在为四个 `$t输出` 变量赋值时,于内部写入 `\n`,自定义回复中则采用 `{$t输出0}{$t输出1}{$t输出2}{$t输出3}` 的形式。 这是因为如果某一变量可能为空时,如果采用第一种分行的写法,会出现这样的效果: @@ -274,30 +274,30 @@ if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… }; ::: -可以看见,在中间会出现突兀的空行。这是因为虽然并没有在变量内部赋值 `\n`,但是由于海豹读取时会按照写的格式读取,因此在应当是 `$t输出2` 的一行中,会照样调用 `{$t输出2}`,照常空行。 +可以看见,在中间会出现突兀的空行。这是因为虽然 `$t输出2` 变量为空,海豹仍会按照自定义回复中设置的格式输出。因此在对应 `$t输出2` 的一行中,海豹会首先输出空变量 `{$t输出2}`,随后按自定义回复的格式进行换行,导致发生空行。 -所以,如果想要某个变量为空时,看不出来这里应该存在什么,就最好多做几次实验,好好规划一下换行符 `\n` 的位置。 +所以,如果想要在某个变量为空时,不让用户注意到突兀的空缺,就最好多做几次实验,好好规划一下换行符 `\n` 的位置。 ### 限定每人/每群每天一次 海豹提供了一系列时间变量来调用,以打卡指令为例,可以采用如下两种写法中的一种(示例为每人每天一次,如要每群自行将 `$m` 换成 `$g`): -**写法 1** -文本匹配:你需要的文本 -表达式为真:`$m变量 != $tDate` +**写法 1**
+文本匹配:你需要的文本
+表达式为真:`$m变量 != $tDate`
回复:`{if 1 {$m变量=$tDate}}你需要的回复文本` - `$m变量` 作为标记变量,用 `if` 是防止它出现在回复文本中。 -文本匹配:你需要的文本 +文本匹配:你需要的文本
表达式为真:`$m变量==$tDate` - 可以不写在另一条里,选择放到相较于上一条的后面,利用海豹从上往下逐个匹配的机制达成相同效果 回复:`在一天触发多次时的回复` -**写法 2** -文本匹配:你需要的文本 +**写法 2**
+文本匹配:你需要的文本
回复: ```text @@ -371,8 +371,8 @@ if ($t0=="石头" && $tDicePlay=="剪刀") || ($t0=="布" && $tDicePlay=="石头 ### 同时使用前缀和后缀匹配,以匹配 `AxxxxxxxB` 型文本 -前缀匹配:`A` -后缀匹配:`B` +前缀匹配:`A`
+后缀匹配:`B`
回复:`怎么辉石呢` :::: info 示例 diff --git a/docs/advanced/script.md b/docs/advanced/script.md index 5be8407ae..e1a15cbec 100644 --- a/docs/advanced/script.md +++ b/docs/advanced/script.md @@ -102,6 +102,12 @@ $t0 < 1 $t0 <= 1 ``` +::: warning 注意:务必区分 `=` 与 `==` + +混淆 `=` 与 `==` 是小白常犯的错误之一。前者用于赋值而后者用于比较。当你试图在下文所述的条件算符或条件语句中,比较两个值时,需要使用 `==`。 + +::: + ## 语句 多个语句可以用 `;` 分隔,取分隔后的最后一项的值,为整个表达式的值,例如: