Skip to content

Commit

Permalink
docs(advanced): 改进进阶介绍相关文档的部分措辞 (sealdice#200)
Browse files Browse the repository at this point in the history
* docs(advanced): 改进进阶介绍相关文档的部分措辞

* fix(advanced): Use <br> and twist linter
  • Loading branch information
MintCider authored Jun 10, 2024
1 parent 6e3c5a0 commit 8f20560
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 19 deletions.
3 changes: 2 additions & 1 deletion .markdownlint.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"allowed_elements": [
"Badge",
"ChatBox",
"img"
"img",
"br"
]
},
"MD051": false,
Expand Down
36 changes: 18 additions & 18 deletions docs/advanced/edit_reply.md
Original file line number Diff line number Diff line change
Expand Up @@ -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>` 中择一执行

:::

Expand Down Expand Up @@ -250,9 +250,9 @@ if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… };

:::

### 多回复行的错误使用
### 多行回复的错误使用

以踢海豹为例,这一自定义回复的多行输出实现上并不是
自定义回复中的多行输出通常并不是

```text
{$t输出0}
Expand All @@ -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}` 的形式。

这是因为如果某一变量可能为空时,如果采用第一种分行的写法,会出现这样的效果:

Expand All @@ -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**<br>
文本匹配:你需要的文本<br>
表达式为真:`$m变量 != $tDate`<br>
回复:`{if 1 {$m变量=$tDate}}你需要的回复文本`

- `$m变量` 作为标记变量,用 `if` 是防止它出现在回复文本中。

文本匹配:你需要的文本
文本匹配:你需要的文本<br>
表达式为真:`$m变量==$tDate`

- 可以不写在另一条里,选择放到相较于上一条的后面,利用海豹从上往下逐个匹配的机制达成相同效果

回复:`在一天触发多次时的回复`

**写法 2**
文本匹配:你需要的文本
**写法 2**<br>
文本匹配:你需要的文本<br>
回复:

```text
Expand Down Expand Up @@ -371,8 +371,8 @@ if ($t0=="石头" && $tDicePlay=="剪刀") || ($t0=="布" && $tDicePlay=="石头

### 同时使用前缀和后缀匹配,以匹配 `AxxxxxxxB` 型文本

前缀匹配:`A`
后缀匹配:`B`
前缀匹配:`A`<br>
后缀匹配:`B`<br>
回复:`怎么辉石呢`

:::: info 示例
Expand Down
6 changes: 6 additions & 0 deletions docs/advanced/script.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,12 @@ $t0 < 1
$t0 <= 1
```

::: warning 注意:务必区分 `=``==`

混淆 `=``==` 是小白常犯的错误之一。前者用于赋值而后者用于比较。当你试图在下文所述的条件算符或条件语句中,比较两个值时,需要使用 `==`

:::

## 语句

多个语句可以用 `;` 分隔,取分隔后的最后一项的值,为整个表达式的值,例如:
Expand Down

0 comments on commit 8f20560

Please sign in to comment.