@mirascript/help 0.1.43 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/scripts/build.js +3 -3
- package/src/keyword/and.md +0 -26
- package/src/keyword/break.md +0 -32
- package/src/keyword/case.md +0 -16
- package/src/keyword/const.md +0 -10
- package/src/keyword/continue.md +0 -14
- package/src/keyword/effect.md +0 -6
- package/src/keyword/else.md +0 -32
- package/src/keyword/false.md +0 -5
- package/src/keyword/finally.md +0 -6
- package/src/keyword/fn.md +0 -35
- package/src/keyword/for.md +0 -43
- package/src/keyword/global.md +0 -29
- package/src/keyword/handle.md +0 -6
- package/src/keyword/if.md +0 -40
- package/src/keyword/in.md +0 -44
- package/src/keyword/inf.md +0 -10
- package/src/keyword/is.md +0 -11
- package/src/keyword/let.md +0 -11
- package/src/keyword/loop.md +0 -13
- package/src/keyword/match.md +0 -18
- package/src/keyword/mod.md +0 -6
- package/src/keyword/mut.md +0 -25
- package/src/keyword/nan.md +0 -10
- package/src/keyword/nil.md +0 -11
- package/src/keyword/not.md +0 -26
- package/src/keyword/op.md +0 -6
- package/src/keyword/or.md +0 -26
- package/src/keyword/perform.md +0 -6
- package/src/keyword/pub.md +0 -6
- package/src/keyword/resume.md +0 -6
- package/src/keyword/return.md +0 -12
- package/src/keyword/true.md +0 -5
- package/src/keyword/try.md +0 -6
- package/src/keyword/type.md +0 -10
- package/src/keyword/underscore.md +0 -16
- package/src/keyword/use.md +0 -6
- package/src/keyword/where.md +0 -6
- package/src/keyword/while.md +0 -12
- package/src/operator/arrow.md +0 -6
- package/src/operator/assign.md +0 -23
- package/src/operator/asterisk.md +0 -9
- package/src/operator/asterisk_assign.md +0 -11
- package/src/operator/brace.md +0 -26
- package/src/operator/bracket.md +0 -32
- package/src/operator/caret.md +0 -10
- package/src/operator/caret_assign.md +0 -11
- package/src/operator/colon.md +0 -29
- package/src/operator/colon_colon.md +0 -10
- package/src/operator/comma.md +0 -13
- package/src/operator/dot.md +0 -15
- package/src/operator/equal.md +0 -43
- package/src/operator/exclamation.md +0 -23
- package/src/operator/greater.md +0 -10
- package/src/operator/greater_equal.md +0 -9
- package/src/operator/half_open_range.md +0 -12
- package/src/operator/less.md +0 -9
- package/src/operator/less_equal.md +0 -9
- package/src/operator/logical_and.md +0 -9
- package/src/operator/logical_and_assign.md +0 -11
- package/src/operator/logical_or.md +0 -9
- package/src/operator/logical_or_assign.md +0 -11
- package/src/operator/minus.md +0 -10
- package/src/operator/minus_assign.md +0 -11
- package/src/operator/not_equal.md +0 -10
- package/src/operator/null_coalescing.md +0 -10
- package/src/operator/null_coalescing_assign.md +0 -14
- package/src/operator/paren.md +0 -39
- package/src/operator/percent.md +0 -9
- package/src/operator/percent_assign.md +0 -11
- package/src/operator/plus.md +0 -10
- package/src/operator/plus_assign.md +0 -11
- package/src/operator/question.md +0 -9
- package/src/operator/question_colon.md +0 -12
- package/src/operator/semicolon.md +0 -13
- package/src/operator/slash.md +0 -9
- package/src/operator/slash_assign.md +0 -11
- package/src/operator/spread_range.md +0 -31
- package/src/operator/tilde_equal.md +0 -24
- package/src/operator/tilde_not_equal.md +0 -10
package/src/keyword/use.md
DELETED
package/src/keyword/where.md
DELETED
package/src/keyword/while.md
DELETED
package/src/operator/arrow.md
DELETED
package/src/operator/assign.md
DELETED
package/src/operator/asterisk.md
DELETED
package/src/operator/brace.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: ['{', '}']
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
`{ }` 用于表达式块或 JSON 风格记录字面量。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
表达式块:
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
let x = { 1 + 2 };
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
在 JSON 风格记录字面量中,键名必须使用引号括起来:
|
|
18
|
-
|
|
19
|
-
```mira
|
|
20
|
-
let obj = { "x": 1, "y": 2, "n": nil };
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
注意:
|
|
24
|
-
|
|
25
|
-
- JSON 风格记录字面量不能为空,要声明一个空记录,请用 `()`;
|
|
26
|
-
- 键和值仍为 MiraScript 表达式,因此需要使用 `nil` 来表示空值,而不是 `null`。
|
package/src/operator/bracket.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: ['[', ']']
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
`[ ]` 用于数组字面量、索引访问与切片。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
数组字面量:
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
let arr = [1, 2, 3];
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
索引访问:
|
|
18
|
-
|
|
19
|
-
```mira
|
|
20
|
-
let first = arr[0];
|
|
21
|
-
let last = arr[-1];
|
|
22
|
-
let value = record["key"];
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
数组切片:
|
|
28
|
-
|
|
29
|
-
```mira
|
|
30
|
-
let subarr1 = arr[0..1]; // 取前两个元素
|
|
31
|
-
let subarr2 = arr[..<-1]; // 取到倒数第一个元素(不含)
|
|
32
|
-
```
|
package/src/operator/caret.md
DELETED
package/src/operator/colon.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: ':'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
`:` 用于记录字面量、条件表达式和插值格式。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
在记录字面量中,`:` 用于分隔字段名和字段值。
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
let r = (x: 1, y: 2);
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
在条件表达式中,`:` 用于分隔条件的不同分支。
|
|
18
|
-
|
|
19
|
-
```mira
|
|
20
|
-
let status = score >= 60 ? "及格" : "不及格";
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
在插值格式中,`:` 用于指定格式化选项。在指定格式化选项时,必须使用圆括号 `$(expr:format)`。
|
|
26
|
-
|
|
27
|
-
```mira
|
|
28
|
-
debug_print("π 的值约为 $(PI:.2)"); // 输出: π 的值约为 3.14
|
|
29
|
-
```
|
package/src/operator/comma.md
DELETED
package/src/operator/dot.md
DELETED
package/src/operator/equal.md
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: '=='
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
使用 `==` 运算符可以比较两个值是否严格相等。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
对于原始值,如果它们的类型和值都相同,则认为它们相等。
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
5 == 5; // true
|
|
13
|
-
"hello" == "hello"; // true
|
|
14
|
-
true == true; // true
|
|
15
|
-
5 == "5"; // false
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
特别地,对于 `number` 类型的值 `nan`,它与任何值都不相等,包括它自己。
|
|
19
|
-
|
|
20
|
-
```mira
|
|
21
|
-
nan == nan; // false
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
对于 `array` 和 `record`,只有他们的元素和属性都相等时,才认为它们相等。
|
|
27
|
-
|
|
28
|
-
```mira
|
|
29
|
-
[1, 2, 3] == [1, 2, 3]; // true
|
|
30
|
-
(a: 1, b: 2) == (a: 1, b: 2); // true
|
|
31
|
-
[1, 2, 3] == [1, 2, 4]; // false
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
对于 `function` `module` 和 `extern`,只有它们引用的是同一个对象时,才认为它们相等。
|
|
37
|
-
|
|
38
|
-
```mira
|
|
39
|
-
let fn1 = fn() { return 1; };
|
|
40
|
-
let fn2 = fn() { return 1; };
|
|
41
|
-
fn1 == fn1; // true
|
|
42
|
-
fn1 == fn2; // false
|
|
43
|
-
```
|
package/src/operator/greater.md
DELETED
package/src/operator/less.md
DELETED
package/src/operator/minus.md
DELETED
package/src/operator/paren.md
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: ['(', ')']
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
`( )` 用于分组表达式、函数调用参数列表,以及记录字面量。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
分组表达式,控制计算顺序:
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
let result = (1 + 2) * 3; // 先计算 1 + 2,然后乘以 3
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
函数声明和调用:
|
|
18
|
-
|
|
19
|
-
```mira
|
|
20
|
-
fn add(a, b) { a + b }
|
|
21
|
-
let sum = add(1, 2);
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
记录字面量:
|
|
27
|
-
|
|
28
|
-
```mira
|
|
29
|
-
let record = (a: 1, b: 2);
|
|
30
|
-
let empty = (); // 空记录
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
对于省略键名的单元素记录,必须添加逗号以区别于分组表达式。
|
|
36
|
-
|
|
37
|
-
```mira
|
|
38
|
-
let single = (1,)
|
|
39
|
-
```
|
package/src/operator/percent.md
DELETED
package/src/operator/plus.md
DELETED
package/src/operator/question.md
DELETED
package/src/operator/slash.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
token: '..'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
`..` 表示闭区间范围,或在数组/记录字面量及函数调用中表示展开。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
表示数组字面量、切片和循环的范围:
|
|
10
|
-
|
|
11
|
-
```mira
|
|
12
|
-
let arr = [1..3]; // arr = [1, 2, 3]
|
|
13
|
-
let slice = arr[0..1]; // slice = [1, 2]
|
|
14
|
-
|
|
15
|
-
for i in 1..3 {
|
|
16
|
-
// i 依次为 1, 2, 3
|
|
17
|
-
}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
展开数组/记录或函数调用:
|
|
23
|
-
|
|
24
|
-
```mira
|
|
25
|
-
let arr = [1, ..[2, 3]]; // arr = [1, 2, 3]
|
|
26
|
-
let rec1 = (a: 1, ..(b: 2, c: 3)); // rec1 = (a: 1, b: 2, c: 3)
|
|
27
|
-
// 同名键以最后一个为准
|
|
28
|
-
let rec2 = (..(1, 2), ..(3, 4, 5)); // rec2 = (0: 3, 1: 4, 2: 5)
|
|
29
|
-
|
|
30
|
-
let result = sum(..[1, 2, 3]); // 等同于 sum(1, 2, 3)
|
|
31
|
-
```
|