模块 stdlib

require "stdlib"

公开 API

API实现说明
stdlib.splitS_split按分隔符拆分字符串,返回列表
stdlib.trimS_trim去除字符串两端空白
stdlib.joinS_join用分隔符连接列表为字符串
stdlib.startswithS_startswith判断字符串是否以指定前缀开头
stdlib.endswithS_endswith判断字符串是否以指定后缀结尾
stdlib.repS_repeat重复字符串 n 次
stdlib.keysS_keys返回表的所有键(列表)
stdlib.valuesS_values返回表的所有值(列表)
stdlib.sizeS_size返回表的元素个数
stdlib.shallowcopyS_shallowcopy浅拷贝表
stdlib.deepcopyS_deepcopy深拷贝表(递归复制嵌套表,处理循环引用;非表值直接返回)
stdlib.mergeS_merge合并多个表(后者覆盖前者)
stdlib.mapS_map对列表每个元素应用函数,返回新列表
stdlib.filterS_filter过滤列表,返回满足谓词的元素
stdlib.reduceS_reduce对列表做归约,返回累积结果
stdlib.clampS_clamp将值限制在 [min, max] 区间
stdlib.lerpS_lerp线性插值:lerp(a, b, t)
stdlib.signS_sign返回数值符号(-1/0/1)
stdlib.roundS_round四舍五入到整数(或指定位数)
stdlib.classS_class辅助:定义/创建类(表 + 元方法)
stdlib.compressS_zstd_compress
stdlib.decompressS_zstd_decompress
stdlib.versionS_zstd_version

stdlib.zstd 复用独立 zstd.dll 后端(C-ABI soup_zstd_*),提供压缩/解压/版本查询。

API实现说明
std.zstd.compressS_zstd_compressstd.zstd.compress(data, level?):用 zstd 压缩字符串,返回压缩后的二进制串(level 默认 3)
std.zstd.decompressS_zstd_decompressstd.zstd.decompress(blob):解压 zstd 压缩串,返回原始数据;失败报错
std.zstd.versionS_zstd_versionstd.zstd.version():返回 zstd 后端版本串(如 'zstd-rs-0.13')

示例

local std = require "stdlib"
print(std.zstd.version())          -- "zstd-rs-0.13"

local raw = "hello soup " .. string.rep("z", 4096)
local blob = std.zstd.compress(raw, 3)   -- 二进制串
local back = std.zstd.decompress(blob)
assert(back == raw)

stdlib.result 即独立 result 模块(Ok/Err 与错误传播),两者 API 完全一致。示例:

local std = require "stdlib"
local r = std.result.ok(42)
if r:is_ok() then print(r:unwrap()) end  -- 42
← 返回模块索引