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