10 个版本
| 0.1.9 | 2020 年 6 月 20 日 |
|---|---|
| 0.1.8 | 2020 年 6 月 19 日 |
#13 在 #ident
60KB
1.5K SLoC
萨伊诺梅
用于 RPG 的通用掷骰机器人
功能
值类型
| 名称 | 描述 | 语法 | 示例 |
|---|---|---|---|
| Bool | 布尔值 | ("True" | "False") | True |
| Fnc | 接收参数的函数 | "\\" Ident "." Expr | \\x.x+1 |
| List | 值的 Vec | "[" ((Expr ",")* Expr)? "]" | [612, "ABCdef",\\x.x+1] |
| Num | f64 的数字 | ["0"-"9"]+(.["0"-"9"]+)? | 61.2 |
| Ref | 对全局值的引用 | {([^"."]+ ",")* [^"."]+} | {abc.def.123} |
| Str | 字符串的字符串 | "\"" [^"\""]* "\"" | "ABCdef" |
Ident
标识符是一个不包含 " 的字符串,且只包含字母字符。您可以将值绑定到 Ident。
这是一个示例
(a:=1; a+1)
这个结果将是 2。
运算符
| 运算符 | 左 | 右 | 描述 |
|---|---|---|---|
| #> | 任何 | List | 从左生成一个函数,以减少列表 |
| <# | List | 任何 | 从右生成一个函数,以减少列表 |
| . | Fnc | 任何 | 以右作为参数调用函数 |
| . | List | Num | 通过索引访问列表中的项 |
| . | List | Fnc | 使用函数映射列表 |
| . | Num | 任何 | 评估右表达式左次数以生成列表 |
| + | Bool | Bool | left || right |
| + | Num | Num | left + right |
| + | Str | Str | 字符串连接 |
依赖关系
~5.5MB
~106K SLoC