mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-11-30 11:08:34 +08:00
update docs
This commit is contained in:
parent
663acd421b
commit
992fb2c6f6
@ -1,6 +1,6 @@
|
|||||||
# fscript 脚本引擎
|
# fscript 脚本引擎
|
||||||
|
|
||||||
## 介绍
|
## 1. 介绍
|
||||||
|
|
||||||
fscript 是一个极简的脚本引擎,借鉴了函数语言中一些思路,主要用于低端嵌入式系统,让用户轻松扩展现有系统,而不需要重新编译和下载固件。
|
fscript 是一个极简的脚本引擎,借鉴了函数语言中一些思路,主要用于低端嵌入式系统,让用户轻松扩展现有系统,而不需要重新编译和下载固件。
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ fscript 是一个极简的脚本引擎,借鉴了函数语言中一些思路,
|
|||||||
* 限制:
|
* 限制:
|
||||||
* 不支持循环。
|
* 不支持循环。
|
||||||
|
|
||||||
## 示例
|
## 2. 示例
|
||||||
|
|
||||||
```c
|
```c
|
||||||
print("hello fscript")
|
print("hello fscript")
|
||||||
@ -25,11 +25,11 @@ print("hello fscript")
|
|||||||
./bin/runFScript 'print("hello fscript")'
|
./bin/runFScript 'print("hello fscript")'
|
||||||
```
|
```
|
||||||
|
|
||||||
## 语法
|
## 3. 语法
|
||||||
|
|
||||||
### 数据类型
|
### 数据类型
|
||||||
|
|
||||||
* 数值类型 (double)
|
* 数值类型 (double)。
|
||||||
* 字符串类型 (string)。UTF-8 字符串。
|
* 字符串类型 (string)。UTF-8 字符串。
|
||||||
* 布尔类型 (bool)。标准取值为:true 和 false,非 0 的数值视为 true。
|
* 布尔类型 (bool)。标准取值为:true 和 false,非 0 的数值视为 true。
|
||||||
|
|
||||||
@ -40,13 +40,14 @@ print(join(",", 1, 2, 3))
|
|||||||
print(join(",", +(1, 2), -(5, 2), *(2, 3), /(9, 3)))
|
print(join(",", +(1, 2), -(5, 2), *(2, 3), /(9, 3)))
|
||||||
```
|
```
|
||||||
|
|
||||||
## 函数
|
## 4.函数
|
||||||
|
|
||||||
### 基本函数
|
### 4.1 基本函数
|
||||||
|
|
||||||
#### print
|
#### print
|
||||||
|
|
||||||
> 打印调试信息到控制台。
|
> 打印调试信息到控制台。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -63,6 +64,7 @@ print("hello fscript")
|
|||||||
#### noop
|
#### noop
|
||||||
|
|
||||||
> 空函数。什么也不做,主要给 if 函数用。
|
> 空函数。什么也不做,主要给 if 函数用。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -73,6 +75,7 @@ noop()
|
|||||||
#### if
|
#### if
|
||||||
|
|
||||||
> 条件执行。如果第一个参数为 true,执行第二个参数,否则执行第三个参数。
|
> 条件执行。如果第一个参数为 true,执行第二个参数,否则执行第三个参数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -91,6 +94,8 @@ if(<(get(a), 0), print(" a < 0"), print("a >= 0"))
|
|||||||
|
|
||||||
> 设置变量的值。
|
> 设置变量的值。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -107,6 +112,8 @@ set(a, 1)
|
|||||||
|
|
||||||
> 获取变量的值。
|
> 获取变量的值。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -123,6 +130,8 @@ print(+(get(a, 0), 100))
|
|||||||
|
|
||||||
> 清除变量。
|
> 清除变量。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -139,6 +148,8 @@ unset(a)
|
|||||||
|
|
||||||
> 转换为整数类型。
|
> 转换为整数类型。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -154,6 +165,7 @@ int("123")
|
|||||||
#### float
|
#### float
|
||||||
|
|
||||||
> 转换为浮点数类型。
|
> 转换为浮点数类型。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -170,6 +182,7 @@ float("123")
|
|||||||
#### str
|
#### str
|
||||||
|
|
||||||
> 转换为字符串类型。
|
> 转换为字符串类型。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -186,6 +199,7 @@ str(int(123))
|
|||||||
#### iformat
|
#### iformat
|
||||||
|
|
||||||
> 对整数进行格式化(生成的字符串长度不超过 63)
|
> 对整数进行格式化(生成的字符串长度不超过 63)
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -202,6 +216,7 @@ iformat("hello:%d", 123)
|
|||||||
#### fformat
|
#### fformat
|
||||||
|
|
||||||
> 对浮点数进行格式化(生成的字符串长度不超过 63)
|
> 对浮点数进行格式化(生成的字符串长度不超过 63)
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -218,11 +233,12 @@ fformat("hello:%lf", 123)
|
|||||||
#### exec
|
#### exec
|
||||||
|
|
||||||
> 执行 object 里的一个命令。
|
> 执行 object 里的一个命令。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
exec(f, value)
|
exec(cmd, arg)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 示例
|
#### 示例
|
||||||
@ -233,12 +249,14 @@ exec("clear", "all")
|
|||||||
|
|
||||||
> 具体功能与 object 的实现有关。
|
> 具体功能与 object 的实现有关。
|
||||||
|
|
||||||
### 字符串函数
|
### 4.2 字符串函数
|
||||||
|
|
||||||
#### join
|
#### join
|
||||||
|
|
||||||
> 将多个变量用指定的分隔符拼接起来(最多 7 个字符串),形成一个字符串。
|
> 将多个变量用指定的分隔符拼接起来(最多 7 个字符串),形成一个字符串。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -255,6 +273,8 @@ join(",", 1, 2, 3, "abc")
|
|||||||
|
|
||||||
> 取字符串的长度。
|
> 取字符串的长度。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -271,6 +291,8 @@ len("abc")
|
|||||||
|
|
||||||
> 将字符串转换成大写。
|
> 将字符串转换成大写。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -287,6 +309,8 @@ tuppper("abc")
|
|||||||
|
|
||||||
> 将字符串转换成小写。
|
> 将字符串转换成小写。
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -302,6 +326,7 @@ tolower("ABC")
|
|||||||
#### trim
|
#### trim
|
||||||
|
|
||||||
> 将字符串转换成小写。
|
> 将字符串转换成小写。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -318,6 +343,7 @@ trm(" abc ")
|
|||||||
#### substr
|
#### substr
|
||||||
|
|
||||||
> 取子字符串。
|
> 取子字符串。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -334,6 +360,7 @@ substr("abcd", 1, 2)
|
|||||||
#### replace
|
#### replace
|
||||||
|
|
||||||
> 替换子字符串。
|
> 替换子字符串。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -349,7 +376,8 @@ replace("ab cd", "ab", "hello")
|
|||||||
|
|
||||||
#### contains
|
#### contains
|
||||||
|
|
||||||
> contains子字符串。
|
> 检查是否包含指定的子字符串。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -363,11 +391,12 @@ contains(str, substr)
|
|||||||
contains("ab cd", "ab")
|
contains("ab cd", "ab")
|
||||||
```
|
```
|
||||||
|
|
||||||
### 运算函数
|
### 4.3 运算函数
|
||||||
|
|
||||||
#### sum
|
#### sum
|
||||||
|
|
||||||
> 对多个数值类型的参数求和。
|
> 对多个数值类型的参数求和。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -397,6 +426,7 @@ print(sum(1, 2, 3))
|
|||||||
#### sub
|
#### sub
|
||||||
|
|
||||||
> 计算两个数之差。
|
> 计算两个数之差。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -428,6 +458,7 @@ print(-(2, 1))
|
|||||||
#### mul
|
#### mul
|
||||||
|
|
||||||
> 计算两个数之积。
|
> 计算两个数之积。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -459,6 +490,7 @@ print(*(2, 1))
|
|||||||
#### div
|
#### div
|
||||||
|
|
||||||
> 计算两个数之商。
|
> 计算两个数之商。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -490,6 +522,7 @@ print(/(2, 1))
|
|||||||
#### %
|
#### %
|
||||||
|
|
||||||
> 计算两个数的模。
|
> 计算两个数的模。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -518,6 +551,7 @@ print(%(23, 7))
|
|||||||
#### and
|
#### and
|
||||||
|
|
||||||
> 逻辑与运算。
|
> 逻辑与运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -548,6 +582,7 @@ true
|
|||||||
#### or
|
#### or
|
||||||
|
|
||||||
> 逻辑或运算。
|
> 逻辑或运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -578,6 +613,7 @@ true
|
|||||||
#### not
|
#### not
|
||||||
|
|
||||||
> 逻辑非运算。
|
> 逻辑非运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -608,6 +644,7 @@ true
|
|||||||
#### &
|
#### &
|
||||||
|
|
||||||
> 位与运算。
|
> 位与运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -636,6 +673,7 @@ print(&(1, 1))
|
|||||||
#### |
|
#### |
|
||||||
|
|
||||||
> 位或运算。
|
> 位或运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -664,6 +702,7 @@ print(|(1, 2))
|
|||||||
#### ~
|
#### ~
|
||||||
|
|
||||||
> 按位取反运算。
|
> 按位取反运算。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -691,6 +730,7 @@ print(~(1))
|
|||||||
|
|
||||||
### 比较函数
|
### 比较函数
|
||||||
#### <
|
#### <
|
||||||
|
----------------------------
|
||||||
|
|
||||||
> 小于。
|
> 小于。
|
||||||
|
|
||||||
@ -723,6 +763,7 @@ true
|
|||||||
#### <=
|
#### <=
|
||||||
|
|
||||||
> 小于等于。
|
> 小于等于。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -753,6 +794,7 @@ true
|
|||||||
#### >
|
#### >
|
||||||
|
|
||||||
> 大于。
|
> 大于。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -783,6 +825,7 @@ true
|
|||||||
#### >=
|
#### >=
|
||||||
|
|
||||||
> 大于等于。
|
> 大于等于。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -813,6 +856,7 @@ false
|
|||||||
#### ==
|
#### ==
|
||||||
|
|
||||||
> 等于。
|
> 等于。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -840,11 +884,12 @@ print(==("a", "b"))
|
|||||||
false
|
false
|
||||||
```
|
```
|
||||||
|
|
||||||
### 数学函数
|
### 4.4 数学函数
|
||||||
|
|
||||||
#### random
|
#### random
|
||||||
|
|
||||||
> 产生随机数。
|
> 产生随机数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -861,6 +906,7 @@ print(random())
|
|||||||
#### sin
|
#### sin
|
||||||
|
|
||||||
> sin 函数。
|
> sin 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -877,6 +923,7 @@ sin(0)
|
|||||||
#### cos
|
#### cos
|
||||||
|
|
||||||
> cos 函数。
|
> cos 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -893,6 +940,7 @@ cos(0)
|
|||||||
#### tan
|
#### tan
|
||||||
|
|
||||||
> tan 函数。
|
> tan 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -909,6 +957,7 @@ tan(1)
|
|||||||
#### asin
|
#### asin
|
||||||
|
|
||||||
> asin 函数。
|
> asin 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -925,6 +974,7 @@ asin(1)
|
|||||||
#### acos
|
#### acos
|
||||||
|
|
||||||
> acos 函数。
|
> acos 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -941,6 +991,7 @@ acos(1)
|
|||||||
#### atan
|
#### atan
|
||||||
|
|
||||||
> atan 函数。
|
> atan 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -957,6 +1008,7 @@ atan(1)
|
|||||||
#### abs
|
#### abs
|
||||||
|
|
||||||
> abs 函数。
|
> abs 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -973,6 +1025,7 @@ abs(1)
|
|||||||
#### min
|
#### min
|
||||||
|
|
||||||
> min 函数。
|
> min 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -983,6 +1036,7 @@ min(a, b)
|
|||||||
#### max
|
#### max
|
||||||
|
|
||||||
> max 函数。
|
> max 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -1005,6 +1059,7 @@ min(1, 2)
|
|||||||
#### clamp
|
#### clamp
|
||||||
|
|
||||||
> clamp 函数。
|
> clamp 函数。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -1018,11 +1073,12 @@ clamp(a, min, max)
|
|||||||
clamp(2, 1, 3)
|
clamp(2, 1, 3)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 时间函数
|
### 4.5 时间函数
|
||||||
|
|
||||||
#### time_now
|
#### time_now
|
||||||
|
|
||||||
> 获取当前时间函数 (s)。
|
> 获取当前时间函数 (s)。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -1039,6 +1095,7 @@ time_now()
|
|||||||
#### time_now_ms
|
#### time_now_ms
|
||||||
|
|
||||||
> 获取当前时间函数 (ms)。
|
> 获取当前时间函数 (ms)。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
@ -1055,6 +1112,7 @@ time_now_ms()
|
|||||||
#### time_now_us
|
#### time_now_us
|
||||||
|
|
||||||
> 获取当前时间函数 (us)。
|
> 获取当前时间函数 (us)。
|
||||||
|
----------------------------
|
||||||
|
|
||||||
##### 原型
|
##### 原型
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user