# 内置函数
XLang 提供了 JavaScript 编写的内置函数。
你也可以使用命令行工具导入自己的接口。
编写 lib.js
,导出一个模块,其中属性 lib
包含一个绑定对象的数组。
例如,下面就是绑定了一个名为 hello
,返回值是 void
的无参数函数,作用是输出 Hello World!
。
module.exports = {
lib: [
{
name: 'hello',
type: 'voidType',
args: [],
fn: () => (console.log('Hello World!'))
}
]
}
编写 test.xl
,使用命令 xlang test.xl --lib lib.js
运行 XLang 脚本。
fn main() {
hello();
// print "Hello World!" to console
}
# IO
XLang 不仅支持传入命令行参数,还支持读取文件的输入。
# In::hasNext()
判断是否还有输入。
# In::nextNumber()
获取输入文件中下一个整数。
# In::nextFloat()
获取输入文件中下一个浮点数。
# In::nextBool()
获取输入文件中下一个布尔值。
# 字符串
支持各种字符串操作的内置函数。
# String::length(s: string)
获取字符串
# String::get(s: string, id: number)
获取字符串
# String::to_number(s: string)
将字符串
# String::to_float(s: string)
将字符串
# 数字
支持各种整数操作的内置函数,浮点数也有类似的函数(除了随机数)。
# Number::to_string(a: number)
将整数
# Number::max(a: number, b: number)
获取整数
# Number::min(a: number, b: number)
获取整数
# Number::abs(a: number)
获取整数
# Number::rand(l: number, r: number)
在
# Float::floor(a: float)
获取浮点
# Float::round(a: float)
获取浮点
# Float::ceil(a: float)
获取浮点
# Float::sqrt(a: float)
获取浮点数