#arguments #formula #language #string #false #true #light-weight

dala

达拉是一种轻量级公式语言

4 个版本 (2 个重大更改)

0.3.0 2023 年 8 月 27 日
0.2.0 2023 年 8 月 19 日
0.1.1 2023 年 7 月 25 日
0.1.0 2023 年 7 月 25 日

#2 in #true

每月 26 次下载

MIT 许可证

34KB
676

达拉公式语言

达拉公式语言是一种轻量级语言,深受 Excel 和 Google Sheets 公式的启发,例如:SUM(1, 2, 3, 4, 5) 将产生 15

目前仍在开发中。

原始数据

这些原始数据用作函数的参数和返回值。

原始数据 描述 语法
Str 由双引号括起来的字符字符串 "你好世界"
Num 一个数字 1, 2.5, 3.1415
布尔值 一个布尔值 TRUEFALSE

EQ(a,b) ->布尔值

描述

如果参数相等,则返回 TRUE,否则返回 FALSE

参数

名称 描述 类型
a 要比较的第一个参数 StrNumBoolean
b 要比较的第二个参数 StrNumBoolean

返回值

类型 描述
布尔值 比较结果

示例

EQ(1,1) -> TRUE

NEQ(a,b) ->布尔值

描述

如果参数不同,则返回 TRUE,否则返回 FALSE

参数

名称 描述 类型
a 要比较的第一个参数 StrNumBoolean
b 要比较的第二个参数 StrNumBoolean

返回值

类型 描述
布尔值 比较结果

示例

EQ(1,1) -> FALSE

CONCAT(a,b,c, ...) ->Str

描述

将所有参数连接成一个字符串。

参数

此函数接受一个或多个参数。

Str 参数在连接之前将被隐式转换为 Str

名称 描述 类型
a 要连接的第一个字符串 StrNumBoolean
b 要连接的第二个字符串(可选) StrNumBoolean
... 其余字符串(可选) StrNumBoolean

返回值

类型 描述
Str 所有参数连接成单个字符串

示例

CONCAT("Hello", " ", "World") -> "Hello World"

DIVIDE(a,b) ->Num

描述

将第一个参数除以第二个参数。

参数

名称 描述 类型
a 被除数 Num
b 除数 Num

返回值

类型 描述
Num 除法结果

示例

DIVIDE(10, 2) -> 5

IF(条件,if_true,if_false) ->文字

描述

如果条件为真,则评估 if_true,否则评估 if_false

参数

此函数接受一个或多个参数。

Str 参数在连接之前将被隐式转换为 Str

名称 描述 类型
条件 布尔值或返回布尔值的函数 布尔值
if_true 评估条件 condition 是否为 TRUE StrNumBoolean
if_false 评估条件 condition 是否为 FALSE StrNumBoolean

返回值

类型 描述
StrNumBoolean 评估 if_trueif_false 内容的结果

示例

`IF(TRUE, "Hello", "World") -> "World"`

MULTIPLY(a,b) ->Num

描述

乘以参数。

参数

名称 描述 类型
a 第一个参数 Num
b 第二个参数 Num

返回值

类型 描述
Num 乘法结果

示例

MULTIPLY(5, 2) -> 10

SUBTRACT(a,b) ->Num

描述

从第一个参数中减去第二个参数。

参数

此函数接受一个或多个参数。

名称 描述 类型
a 第一个参数 Num
b 第二个参数 Num

返回值

类型 描述
Num 减法结果

示例

SUBTRACT(1, 2) -> -1

SUM(a,b,c, ...) ->Num

描述

将所有参数相加。

参数

此函数接受一个或多个参数。

名称 描述 类型
a 要加的第一个数字 Num
b 要加的第二个数字(可选) Num
... 要加的其他数字(可选) Num

返回值

类型 描述
Num 所有参数相加的总和

示例

SUM(1, 2, 3, 4, 5) -> 15

UPPER(a) ->Str

描述

将字符串转换为大写。

参数

Str 参数在连接之前将被隐式转换为 Str

名称 描述 类型
a 要转换为大写的字符串 StrNumBoolean

返回值

类型 描述
Str 大写字符串

示例

UPPER("Hello World") -> "HELLO WORLD"

依赖项

~2.1–2.9MB
~58K SLoC