@mirascript/help 0.1.44 → 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.
Files changed (83) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/package.json +1 -1
  4. package/scripts/build.js +3 -3
  5. package/src/keyword/and.md +0 -26
  6. package/src/keyword/break.md +0 -32
  7. package/src/keyword/case.md +0 -16
  8. package/src/keyword/const.md +0 -10
  9. package/src/keyword/continue.md +0 -14
  10. package/src/keyword/effect.md +0 -6
  11. package/src/keyword/else.md +0 -32
  12. package/src/keyword/false.md +0 -5
  13. package/src/keyword/finally.md +0 -6
  14. package/src/keyword/fn.md +0 -35
  15. package/src/keyword/for.md +0 -43
  16. package/src/keyword/global.md +0 -29
  17. package/src/keyword/handle.md +0 -6
  18. package/src/keyword/if.md +0 -40
  19. package/src/keyword/in.md +0 -44
  20. package/src/keyword/inf.md +0 -10
  21. package/src/keyword/is.md +0 -11
  22. package/src/keyword/let.md +0 -11
  23. package/src/keyword/loop.md +0 -13
  24. package/src/keyword/match.md +0 -18
  25. package/src/keyword/mod.md +0 -6
  26. package/src/keyword/mut.md +0 -25
  27. package/src/keyword/nan.md +0 -10
  28. package/src/keyword/nil.md +0 -11
  29. package/src/keyword/not.md +0 -26
  30. package/src/keyword/op.md +0 -6
  31. package/src/keyword/or.md +0 -26
  32. package/src/keyword/perform.md +0 -6
  33. package/src/keyword/pub.md +0 -6
  34. package/src/keyword/resume.md +0 -6
  35. package/src/keyword/return.md +0 -12
  36. package/src/keyword/true.md +0 -5
  37. package/src/keyword/try.md +0 -6
  38. package/src/keyword/type.md +0 -10
  39. package/src/keyword/underscore.md +0 -16
  40. package/src/keyword/use.md +0 -6
  41. package/src/keyword/where.md +0 -6
  42. package/src/keyword/while.md +0 -12
  43. package/src/operator/arrow.md +0 -6
  44. package/src/operator/assign.md +0 -23
  45. package/src/operator/asterisk.md +0 -9
  46. package/src/operator/asterisk_assign.md +0 -11
  47. package/src/operator/brace.md +0 -26
  48. package/src/operator/bracket.md +0 -32
  49. package/src/operator/caret.md +0 -10
  50. package/src/operator/caret_assign.md +0 -11
  51. package/src/operator/colon.md +0 -29
  52. package/src/operator/colon_colon.md +0 -10
  53. package/src/operator/comma.md +0 -13
  54. package/src/operator/dot.md +0 -15
  55. package/src/operator/equal.md +0 -43
  56. package/src/operator/exclamation.md +0 -23
  57. package/src/operator/greater.md +0 -10
  58. package/src/operator/greater_equal.md +0 -9
  59. package/src/operator/half_open_range.md +0 -12
  60. package/src/operator/less.md +0 -9
  61. package/src/operator/less_equal.md +0 -9
  62. package/src/operator/logical_and.md +0 -9
  63. package/src/operator/logical_and_assign.md +0 -11
  64. package/src/operator/logical_or.md +0 -9
  65. package/src/operator/logical_or_assign.md +0 -11
  66. package/src/operator/minus.md +0 -10
  67. package/src/operator/minus_assign.md +0 -11
  68. package/src/operator/not_equal.md +0 -10
  69. package/src/operator/null_coalescing.md +0 -10
  70. package/src/operator/null_coalescing_assign.md +0 -14
  71. package/src/operator/paren.md +0 -39
  72. package/src/operator/percent.md +0 -9
  73. package/src/operator/percent_assign.md +0 -11
  74. package/src/operator/plus.md +0 -10
  75. package/src/operator/plus_assign.md +0 -11
  76. package/src/operator/question.md +0 -9
  77. package/src/operator/question_colon.md +0 -12
  78. package/src/operator/semicolon.md +0 -13
  79. package/src/operator/slash.md +0 -9
  80. package/src/operator/slash_assign.md +0 -11
  81. package/src/operator/spread_range.md +0 -31
  82. package/src/operator/tilde_equal.md +0 -24
  83. package/src/operator/tilde_not_equal.md +0 -10
package/dist/index.d.ts CHANGED
@@ -18,11 +18,13 @@ export declare const KEYWORDS: {
18
18
  readonly "let": string;
19
19
  readonly "loop": string;
20
20
  readonly "match": string;
21
+ readonly "mod": string;
21
22
  readonly "mut": string;
22
23
  readonly "nan": string;
23
24
  readonly "nil": string;
24
25
  readonly "not": string;
25
26
  readonly "or": string;
27
+ readonly "pub": string;
26
28
  readonly "return": string;
27
29
  readonly "true": string;
28
30
  readonly "type": string;
package/dist/index.js CHANGED
@@ -19,11 +19,13 @@ export const KEYWORDS = Object.freeze({
19
19
  "let": "`let` 用于声明局部变量。\n\n```mira\nlet x = 1;\nlet y = x + 2;\nlet mut z = y * 3;\n```\n",
20
20
  "loop": "`loop` 创建一个无限循环,通常配合 `break` 退出。\n\n```mira\nlet mut i = 0;\nloop {\n i += 1;\n if i >= 3 { break; }\n}\n```\n",
21
21
  "match": "`match` 表达式对一个值进行分支匹配,由多个 `case` 组成。\n\n```mira\nfn classify {\n match it {\n case (0, 0) { \"Origin\" }\n case (x, 0) if x > 0 { \"Positive X-Axis (x=$x)\" }\n case (x, 0) if x < 0 { \"Negative X-Axis (x=$x)\" }\n case (0, y) { \"Y-Axis (y=$y)\" }\n case (x, y) { \"Somewhere else (x=$x, y=$y)\" }\n case _ { \"Not a point\" }\n }\n}\n```\n",
22
+ "mod": "`mod` 用于声明一个模块。\n\n```mira\nmod counter {\n pub let mut value = 0;\n pub fn inc(){\n value += 1;\n }\n}\n\ndebug_print(counter.value); // 0\ncounter.inc();\ndebug_print(counter.value); // 1\n```\n",
22
23
  "mut": "`mut` 用于声明可变变量。\n\n---\n\n使用 `let` 语句时声明一个可变变量:\n\n```mira\nlet mut x = 1;\nx += 2;\n// x == 3\n```\n\n---\n\n在模式匹配中声明一个可变绑定:\n\n```mira\nlet (mut a, b) = (1, 2);\na += 10;\n// b += 10; // 这行代码会报错,因为 b 是不可变的\n```\n",
23
24
  "nan": "`nan` 是一个特殊的 `number` 值(Not a Number)。它与任何值都不相等(包括它自己)。\n\n```mira\nnan == nan; // false\nnan =~ nan; // false\n```\n",
24
25
  "nil": "`nil` 表示“空值”。当访问不存在的字段、对 `nil` 进行空安全链式调用等场景时,结果也会是 `nil`。\n\n```mira\nlet x = nil;\nlet y = x ?? 0; // 0\nlet z = x.anything; // nil(空安全访问)\n```\n",
25
26
  "not": "`not` 用于在模式匹配中取反一个模式,也可以作为 `!` 运算符的替代写法。\n\n---\n\n逻辑非模式:\n\n```mira\nfn is_not_weekend(day) {\n day is not 6 and not 7\n}\n```\n\n---\n\n逻辑非运算符:\n\n```mira\nfn is_minor(age) {\n // 等同于 !(age >= 18)\n not (age >= 18)\n}\n```\n",
26
27
  "or": "`or` 用于在模式匹配中组合多个模式,也可以作为 `||` 运算符的替代写法。\n\n---\n\n逻辑或模式:\n\n```mira\nfn is_weekend(day) {\n day is 6 or 7\n}\n```\n\n---\n\n逻辑或运算符:\n\n```mira\nfn is_superuser(role) {\n // 等同于 role == \"admin\" || role == \"superuser\"\n role == \"admin\" or role == \"superuser\"\n}\n```\n",
28
+ "pub": "`pub` 用于将模块内的声明导出。\n\n```mira\nmod counter {\n pub let mut value = 0;\n pub fn inc(){\n value += 1;\n }\n}\n\ndebug_print(counter.value); // 0\ncounter.inc();\ndebug_print(counter.value); // 1\n```\n",
27
29
  "return": "`return` 用于从函数中返回值。\n\n```mira\nfn abs {\n if it < 0 { return -it; }\n return it;\n}\n```\n",
28
30
  "true": "`true` 是布尔字面量,表示逻辑真。\n",
29
31
  "type": "`type` 用于获得值的类型名字符串。\n\n```mira\ntype(1); // \"number\"\nnil::type(); // \"nil\"(扩展调用写法)\n```\n",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/help",
3
- "version": "0.1.44",
3
+ "version": "0.1.45",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "Help documentation for Mirascript core language.",
package/scripts/build.js CHANGED
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import { load } from 'js-yaml';
4
4
 
5
5
  const packageRoot = path.resolve(import.meta.dirname, '..');
6
- const srcRoot = path.join(packageRoot, 'src');
6
+ const srcRoot = path.join(packageRoot, '../../docs/references');
7
7
  const distRoot = path.join(packageRoot, 'dist');
8
8
 
9
9
  /**
@@ -86,8 +86,8 @@ async function loadDocsFromFolder(folder) {
86
86
  const relativePath = path.posix.join(folder, dirent.name);
87
87
  const markdown = await readMarkdown(relativePath);
88
88
  const { attributes, body } = splitFrontMatter(markdown, relativePath);
89
- const { token, reserved } = attributes;
90
- putItem({ token, body, reserved: Boolean(reserved), file: relativePath });
89
+ const { token, title, reserved } = attributes;
90
+ putItem({ token: token ?? title, body, reserved: Boolean(reserved), file: relativePath });
91
91
  }
92
92
 
93
93
  const seenToken = new Set();
@@ -1,26 +0,0 @@
1
- ---
2
- token: 'and'
3
- ---
4
-
5
- `and` 用于在模式匹配中组合多个模式,也可以作为 `&&` 运算符的替代写法。
6
-
7
- ---
8
-
9
- 逻辑与模式:
10
-
11
- ```mira
12
- fn is_month(month) {
13
- month is >= 1 and <= 12
14
- }
15
- ```
16
-
17
- ---
18
-
19
- 逻辑与运算符:
20
-
21
- ```mira
22
- fn is_adult(age) {
23
- // 等同于 age >= 18 && age <= 65
24
- age >= 18 and age <= 65
25
- }
26
- ```
@@ -1,32 +0,0 @@
1
- ---
2
- token: 'break'
3
- ---
4
-
5
- `break` 用于提前退出 `for` / `while` / `loop`。
6
-
7
- ---
8
-
9
- 基本用法
10
-
11
- ```mira
12
- let mut i = 0;
13
- loop {
14
- i += 1;
15
- break;
16
- }
17
- ```
18
-
19
- ---
20
-
21
- 从循环中返回一个值
22
-
23
- ```mira
24
- let mut i = 0;
25
- let result = loop {
26
- i += 1;
27
- if i == 10 {
28
- break i * 2;
29
- }
30
- };
31
- // result 的值是 20
32
- ```
@@ -1,16 +0,0 @@
1
- ---
2
- token: 'case'
3
- ---
4
-
5
- `case` 是 `match` 表达式中的分支。
6
-
7
- ```mira
8
- fn age_group(age) {
9
- match age {
10
- case 0..12 { "child"}
11
- case 13..19 { "teenager" }
12
- case 20..64 { "adult" }
13
- case _ { "senior" }
14
- }
15
- }
16
- ```
@@ -1,10 +0,0 @@
1
- ---
2
- token: 'const'
3
- ---
4
-
5
- `const` 用于声明常量。常量名必须以 `@` 开头。
6
-
7
- ```mira
8
- const @PI = 3.14159;
9
- // @PI = 0; // 错误:常量不可重新赋值
10
- ```
@@ -1,14 +0,0 @@
1
- ---
2
- token: 'continue'
3
- ---
4
-
5
- `continue` 用于跳过本次循环剩余部分,进入下一次循环。
6
-
7
- ```mira
8
- let mut sum = 0;
9
- for i in 1..5 {
10
- if i % 2 == 0 { continue; }
11
- sum += i;
12
- }
13
- // sum == 1 + 3 + 5
14
- ```
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'effect'
3
- reserved: true
4
- ---
5
-
6
- `effect` 是保留关键字。
@@ -1,32 +0,0 @@
1
- ---
2
- token: 'else'
3
- ---
4
-
5
- `else` 用于 `if` 表达式,也可用作 `while` 和 `for` 循环的可选分支。
6
-
7
- ---
8
-
9
- 作为 `if` 表达式的分支
10
-
11
- ```mira
12
- let x = if false { 1 } else { 2 }; // 2
13
- ```
14
-
15
- ---
16
-
17
- 作为循环的可选分支
18
-
19
- ```mira
20
- let mut i = 0;
21
- let result = while i < 5 {
22
- i += 1;
23
- if i == 6 {
24
- // 使用 break 语句提前退出循环,并返回一个值
25
- break i * 2;
26
- }
27
- } else {
28
- // 当循环正常结束时执行
29
- 100
30
- };
31
- // result 的值是 100
32
- ```
@@ -1,5 +0,0 @@
1
- ---
2
- token: 'false'
3
- ---
4
-
5
- `false` 是布尔字面量,表示逻辑假。
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'finally'
3
- reserved: true
4
- ---
5
-
6
- `finally` 是保留关键字。
package/src/keyword/fn.md DELETED
@@ -1,35 +0,0 @@
1
- ---
2
- token: 'fn'
3
- ---
4
-
5
- 使用 `fn` 关键字定义一个函数或函数表达式。
6
-
7
- ---
8
-
9
- 定义一个简单的函数:
10
-
11
- ```mira
12
- fn add(a, b) {
13
- return a + b;
14
- }
15
- ```
16
-
17
- ---
18
-
19
- 定义一个变量,并使用函数表达式初始化:
20
-
21
- ```mira
22
- let multiply = fn (x, y) {
23
- return x * y;
24
- };
25
- ```
26
-
27
- ---
28
-
29
- 当函数只有一个参数时,可以省略括号,并用 `it` 引用该参数。
30
-
31
- ```mira
32
- fn square {
33
- return it * it;
34
- }
35
- ```
@@ -1,43 +0,0 @@
1
- ---
2
- token: 'for'
3
- ---
4
-
5
- `for` 用于遍历可迭代对象。
6
-
7
- ---
8
-
9
- 遍历一个范围:
10
-
11
- ```mira
12
- let mut sum = 0;
13
- for i in 1..3 { // 或者 1..<4
14
- sum += i;
15
- }
16
- // sum == 6
17
- ```
18
-
19
- ---
20
-
21
- 遍历一个数组:
22
-
23
- ```mira
24
- let arr = [10, 20, 30];
25
- let mut sum = 0;
26
- for value in arr {
27
- sum += value;
28
- }
29
- // sum == 60
30
- ```
31
-
32
- ---
33
-
34
- 遍历一个记录:
35
-
36
- ```mira
37
- let record = (a: 1, b: 2, c: 3);
38
- let mut sum = 0;
39
- for key in record {
40
- sum += record[key];
41
- }
42
- // sum == 6
43
- ```
@@ -1,29 +0,0 @@
1
- ---
2
- token: 'global'
3
- ---
4
-
5
- `global` 关键字用于读取全局变量或判断某个全局变量是否存在。
6
-
7
- ---
8
-
9
- 当变量名与局部变量冲突时,可以使用 `global` 关键字来访问全局变量。
10
-
11
- ```mira
12
- let some_name = 'shadow';
13
- some_name; // 访问局部变量 'some_name'
14
- global.some_name; // 访问全局变量 'some_name'
15
- ```
16
-
17
- ---
18
-
19
- 动态判断和访问全局变量:
20
-
21
- ```mira
22
- fn get_global(name, fallback) {
23
- if name in global {
24
- global[name]
25
- } else {
26
- fallback
27
- }
28
- }
29
- ```
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'handle'
3
- reserved: true
4
- ---
5
-
6
- `handle` 是保留关键字。
package/src/keyword/if.md DELETED
@@ -1,40 +0,0 @@
1
- ---
2
- token: 'if'
3
- ---
4
-
5
- `if` 用于 `if` 表达式或 `match` 表达式的守卫条件。
6
-
7
- ---
8
-
9
- `if` 表达式根据条件选择分支。条件必须是 `boolean`。
10
-
11
- ```mira
12
- let x = if 1 > 0 { "pos" } else { "neg" };
13
- ```
14
-
15
- ---
16
-
17
- 使用 `else if` 添加多个条件分支:
18
-
19
- ```mira
20
- let x = if 1 > 2 {
21
- "greater"
22
- } else if 1 == 2 {
23
- "equal"
24
- } else {
25
- "less"
26
- };
27
- ```
28
-
29
- ---
30
-
31
- 在 `match` 表达式中使用 `if` 作为守卫条件:
32
-
33
- ```mira
34
- let num = 10;
35
- let result = match num {
36
- case n if n % 2 == 0 { "even" }
37
- case n { "odd" }
38
- };
39
- // result 的值是 "even"
40
- ```
package/src/keyword/in.md DELETED
@@ -1,44 +0,0 @@
1
- ---
2
- token: 'in'
3
- ---
4
-
5
- `in` 用于“包含/存在”判断,以及 `for` 循环。
6
-
7
- ---
8
-
9
- 对于 `array` 类型,`in` 用于判断某个元素是否在数组中存在:
10
-
11
- ```mira
12
- fn is_spring(month) {
13
- month in [3, 4, 5]
14
- }
15
- ```
16
-
17
- ---
18
-
19
- 对于 `record` / `module` / `extern` 类型,`in` 用于判断某个键是否在容器中存在:
20
-
21
- ```mira
22
- let record = (a: 1, b: 2, c: 3);
23
- let a_exists = 'a' in record; // true
24
- ```
25
-
26
- ---
27
-
28
- 也可与 `global` 关键字结合使用,判断全局变量是否存在:
29
-
30
- ```mira
31
- if 'my_global' in global {
32
- my_global += 1;
33
- }
34
- ```
35
-
36
- ---
37
-
38
- 同时,`for` 循环也使用 `in`:
39
-
40
- ```mira
41
- for i in 1..3 {
42
- // i: 1, 2, 3
43
- }
44
- ```
@@ -1,10 +0,0 @@
1
- ---
2
- token: 'inf'
3
- ---
4
-
5
- `inf` 是正无穷大的 `number` 常量。
6
-
7
- ```mira
8
- inf > 1e100; // true
9
- -inf < 0; // true
10
- ```
package/src/keyword/is.md DELETED
@@ -1,11 +0,0 @@
1
- ---
2
- token: 'is'
3
- ---
4
-
5
- `is` 用于模式匹配:`value is pattern`,结果为 `boolean`。
6
-
7
- ```mira
8
- 1 is 1; // true
9
- 1 is > 0; // true
10
- (a: 1) is (a: x); // true(并绑定 x)
11
- ```
@@ -1,11 +0,0 @@
1
- ---
2
- token: 'let'
3
- ---
4
-
5
- `let` 用于声明局部变量。
6
-
7
- ```mira
8
- let x = 1;
9
- let y = x + 2;
10
- let mut z = y * 3;
11
- ```
@@ -1,13 +0,0 @@
1
- ---
2
- token: 'loop'
3
- ---
4
-
5
- `loop` 创建一个无限循环,通常配合 `break` 退出。
6
-
7
- ```mira
8
- let mut i = 0;
9
- loop {
10
- i += 1;
11
- if i >= 3 { break; }
12
- }
13
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- token: 'match'
3
- ---
4
-
5
- `match` 表达式对一个值进行分支匹配,由多个 `case` 组成。
6
-
7
- ```mira
8
- fn classify {
9
- match it {
10
- case (0, 0) { "Origin" }
11
- case (x, 0) if x > 0 { "Positive X-Axis (x=$x)" }
12
- case (x, 0) if x < 0 { "Negative X-Axis (x=$x)" }
13
- case (0, y) { "Y-Axis (y=$y)" }
14
- case (x, y) { "Somewhere else (x=$x, y=$y)" }
15
- case _ { "Not a point" }
16
- }
17
- }
18
- ```
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'mod'
3
- reserved: true
4
- ---
5
-
6
- `mod` 是保留关键字。
@@ -1,25 +0,0 @@
1
- ---
2
- token: 'mut'
3
- ---
4
-
5
- `mut` 用于声明可变变量。
6
-
7
- ---
8
-
9
- 使用 `let` 语句时声明一个可变变量:
10
-
11
- ```mira
12
- let mut x = 1;
13
- x += 2;
14
- // x == 3
15
- ```
16
-
17
- ---
18
-
19
- 在模式匹配中声明一个可变绑定:
20
-
21
- ```mira
22
- let (mut a, b) = (1, 2);
23
- a += 10;
24
- // b += 10; // 这行代码会报错,因为 b 是不可变的
25
- ```
@@ -1,10 +0,0 @@
1
- ---
2
- token: 'nan'
3
- ---
4
-
5
- `nan` 是一个特殊的 `number` 值(Not a Number)。它与任何值都不相等(包括它自己)。
6
-
7
- ```mira
8
- nan == nan; // false
9
- nan =~ nan; // false
10
- ```
@@ -1,11 +0,0 @@
1
- ---
2
- token: 'nil'
3
- ---
4
-
5
- `nil` 表示“空值”。当访问不存在的字段、对 `nil` 进行空安全链式调用等场景时,结果也会是 `nil`。
6
-
7
- ```mira
8
- let x = nil;
9
- let y = x ?? 0; // 0
10
- let z = x.anything; // nil(空安全访问)
11
- ```
@@ -1,26 +0,0 @@
1
- ---
2
- token: 'not'
3
- ---
4
-
5
- `not` 用于在模式匹配中取反一个模式,也可以作为 `!` 运算符的替代写法。
6
-
7
- ---
8
-
9
- 逻辑非模式:
10
-
11
- ```mira
12
- fn is_not_weekend(day) {
13
- day is not 6 and not 7
14
- }
15
- ```
16
-
17
- ---
18
-
19
- 逻辑非运算符:
20
-
21
- ```mira
22
- fn is_minor(age) {
23
- // 等同于 !(age >= 18)
24
- not (age >= 18)
25
- }
26
- ```
package/src/keyword/op.md DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'op'
3
- reserved: true
4
- ---
5
-
6
- `op` 是保留关键字。
package/src/keyword/or.md DELETED
@@ -1,26 +0,0 @@
1
- ---
2
- token: 'or'
3
- ---
4
-
5
- `or` 用于在模式匹配中组合多个模式,也可以作为 `||` 运算符的替代写法。
6
-
7
- ---
8
-
9
- 逻辑或模式:
10
-
11
- ```mira
12
- fn is_weekend(day) {
13
- day is 6 or 7
14
- }
15
- ```
16
-
17
- ---
18
-
19
- 逻辑或运算符:
20
-
21
- ```mira
22
- fn is_superuser(role) {
23
- // 等同于 role == "admin" || role == "superuser"
24
- role == "admin" or role == "superuser"
25
- }
26
- ```
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'perform'
3
- reserved: true
4
- ---
5
-
6
- `perform` 是保留关键字。
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'pub'
3
- reserved: true
4
- ---
5
-
6
- `pub` 是保留关键字。
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'resume'
3
- reserved: true
4
- ---
5
-
6
- `resume` 是保留关键字。
@@ -1,12 +0,0 @@
1
- ---
2
- token: 'return'
3
- ---
4
-
5
- `return` 用于从函数中返回值。
6
-
7
- ```mira
8
- fn abs {
9
- if it < 0 { return -it; }
10
- return it;
11
- }
12
- ```
@@ -1,5 +0,0 @@
1
- ---
2
- token: 'true'
3
- ---
4
-
5
- `true` 是布尔字面量,表示逻辑真。
@@ -1,6 +0,0 @@
1
- ---
2
- token: 'try'
3
- reserved: true
4
- ---
5
-
6
- `try` 是保留关键字。
@@ -1,10 +0,0 @@
1
- ---
2
- token: 'type'
3
- ---
4
-
5
- `type` 用于获得值的类型名字符串。
6
-
7
- ```mira
8
- type(1); // "number"
9
- nil::type(); // "nil"(扩展调用写法)
10
- ```