Skip to content

Sheng-Sheng-Man/Ssm.Jian.Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

声声慢·简脚本语言引擎(简语言,Jian Script)

一种使用中文作为关键字的函数式脚本引擎(Jian Script Engine);

A functional script engine using Chinese as a keyword.

license codeSize lastCommit

函数式脚本

脚本整体就是一个函数,但函数的参数可以是另一个函数定义,由此自由展开形成丰富的功能实现;

脚本示例

以下为一个计算累加并输出的简单脚本:

依次执行(
    赋值(数, 1)
    赋值(累加和, 0)
    判断循环(小于等于(数, 100), 依次执行(
        赋值(累加和, 计算(累加和 + 数))
        赋值(数, 计算(数 + 1))
    ))
    输出换行(字符串("计算结果是:", 累加和))
)

基础函数

为了能让脚本工作更为顺利,引擎中内置了一些基础函数;

依次执行函数

使用此函数可以让函数中的参数依次执行:

依次执行(函数1, 函数2, ... , 函数N)

赋值函数

使用此函数可以让后参数的内容赋值给前函数:

赋值(变量, 值)

运算函数(加+减-乘*除/)与四则混合运算语法糖(计算)

使用此类函数可以进行数值运算并返回结果:

加(数字1, 数字2, ... , 数字N)
+(数字1, 数字2, ... , 数字N)
减(数字1, 数字2, ... , 数字N)
-(数字1, 数字2, ... , 数字N)
乘(数字1, 数字2, ... , 数字N)
*(数字1, 数字2, ... , 数字N)
除(数字1, 数字2, ... , 数字N)
/(数字1, 数字2, ... , 数字N)

使用!函数定义可触发四则混合运算解析,如以下第一句脚本将会被解析为第二句:

计算((甲 + 1) * 2)
*(+(甲, 1), 2)

字符串函数

使用此函数可以让函数中的参数依次拼接为一个新的字符串:

字符串(变量1, 变量2, ... , 变量N)

判断函数

使用判断函数可以通过判断首参数的值来决定执行第二个参数还是第三个参数中的函数:

判断(变量, 函数真, 函数假)

判断循环函数

使用判断循环函数可以通过循环判断首参数的值来循环执行第二个参数中的函数:

判断循环(变量, 函数)

规律循环函数

使用规律循环函数可以通过设置初始值、终点值、每次变化值来循环执行参数中的函数:

规律循环(变量, 开始值, 结束值, 变化值, 函数)

依次循环函数

使用依次循环函数可以通过遍历列表/字典来循环执行参数中的函数:

依次循环(变量, 列表变量, 函数)

相等函数

使用相等判断函数可以对比两个参数值是否相等并返回结果:

相等(变量, 值)

比较函数

使用相等判断函数可以对比两个数字参数值,前函数较大则返回1,相同则返回0,较小则返回-1:

比较(变量, 值)

取反函数

使用取反函数可以取参数的反结果:

取反(变量)

同时成立函数

使用同时成立函数将对比所有参数值,均为真时才返回为真:

同时成立(变量1, 变量2, ... , 变量N)

单一成立函数

使用单一成立函数将对比所有参数值,只需有一个为真时即返回为真:

单一成立(变量1, 变量2, ... , 变量N)

注释关键字(#)

使用#来定义注释或结束注释定义,如:

# 这是整行注释
赋值(甲, 1)
# 这是部分注释 # 赋值(甲, 1)

About

A functional script engine using Chinese as a keyword.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published