参考

函数参考

内置辅助函数

游戏内“函数”标签页中列为内置的辅助函数。公共辅助函数直接按名称调用;其他辅助函数需绑定为依赖项(选择自动补全项,或在“依赖项”中添加),再按其完整限定名调用。

240 个辅助函数中的 31 个。 清除筛选

Functions.cache.getCached 公共对每个缓存和完全相同的参数元组只调用一次观测,包括 nil 结果。传入评估缓存可在一个推荐周期内共享观测;缓存为 nil 时直接调用。
Functions.cache.getRetryCached 公共在观测返回非 nil 值后将其缓存;对整个返回元组都为 nil 的观测会重试。使用与 getCached 完全相同的参数键。
Functions.collections.cleanArray 公共原地移除条目,默认只保留 except 值中列出的键。invert 为 true 时,移除列出的键并保留未列出的键。没有例外列表时,默认会移除所有条目,而 invert 为 true 时会保留所有条目。输入为 nil 时不执行任何操作。
Functions.collections.compareArray 公共遍历两个表中的条目,并使用 Lua 相等比较将每个值与另一个表中相应索引的值进行比较。普通的索引和相等元方法都会生效;嵌套内容不会被递归比较。
Functions.collections.deepcopy 公共尽管历史上名为 deepcopy,它创建的是一个经过筛选的浅拷贝。嵌套的值保留其原始身份,且不会复制源表的元表。默认排除 except 值中列出的键;invert 为 true 时只包含列出的键。输入为 nil 时返回 nil。
Functions.collections.index 公共在 pairs 遍历过程中返回第一个值等于所提供值的键。输入表为 nil 或 false 以及值不存在时返回 nil。有多个匹配的键时,选择顺序不确定。
Functions.collections.keys 公共收集表的键,并使用 Lua 的小于比较按其对应的值排序。这是按值排序而不是按键名排序;值相等时键的顺序不确定。
Functions.collections.multiinsert 公共将 ipairs 遍历到的每个值插入到目标数组中对应的开头索引处。现有条目会移到插入的前缀之后;遍历在第一个缺失的源索引处停止。
Functions.collections.spairs 公共创建一个遍历表键排序快照的迭代器。默认按键排序;自定义排序回调会收到原始表和两个键。每次产出一个键时,值从原始表中读取。当下一个捕获的键为 nil 或 false 时,旧版迭代器结束。
Functions.collections.tablelength 公共统计 pairs 遍历到的所有条目,包括 false 值以及稀疏的数字键或非数字键。nil 表的长度为零。
Functions.collections.tomap 公共复制一个表,以每个原始键的 tostring 结果作为目标键。值保留其原始身份。字符串化后相互冲突的键会按未指定的 pairs 遍历顺序相互覆盖。
Functions.forecast.calculate 公共使用显式的有限时间窗口和时钟,计算经过检查的生命值历史速率。保留有序加权、逐行实时规范舍入、被跳过的数据流、数组空洞、小数键以及最终访问时的时长。固定的 4096 单位预算涵盖两个数据流中被访问的行和累加区间;超出预算或无效的已消耗运算会返回不可用,绝不返回部分估算或截断值。这个新 API 有其自己的源码身份;历史趋势函数保持不变。
Functions.forecast.finite 依赖项Checks that a number used by Functions.forecast.calculate is readable and finite.
Functions.forecast.readField 依赖项Reads object[key] for Functions.forecast.calculate without letting a restricted value, a non-table object or an index error escape.
Functions.presentation.compareString 公共当运算符有否定形式时,使用命名布尔备选项格式化比较措辞。primary 标记会将肯定形式标为主要措辞。肯定运算符标签使用捕获的运算符映射;否定标签和可空分派保留其实时的插件 API。
Functions.presentation.nullable 公共原样返回存在的值;为 nil 时返回红色的显示占位符。用于可读的条件标签,而不是作为布尔值的后备。
Functions.presentation.nullable_value 公共查找表中的键用于显示,保留非 nil 的结果;无效的表、缺失的键和 nil 键会使用可空占位文本。
Functions.presentation.phrase 公共创建一个临时的具名条件摘要。标量值使用 {name},判断的正反两种措辞使用 {{positive|negative}};在主要措辞前加上 !
Functions.presentation.playerize 公共仅当单位标识为字面上的 player 时才选择所提供的玩家值;其他所有单位都会选择非玩家值。选中的 false 和 nil 值会被保留。
Functions.presentation.predicate 公共为具名条件短语创建一个带类型的比较判断。肯定措辞使用原先捕获的运算符映射,否定措辞使用当前取反后的运算符映射。主要判断优先于限定词;只有第一个符合条件的判断会被取反。未知运算符使用现有的运算符占位符。这只格式化措辞,不比较值也不评估条件。
Functions.text.ends_with 公共使用 Lua 字符串切片测试字面的字节后缀。空后缀视为匹配;模式字符没有特殊含义,并区分大小写。
Functions.text.split 公共将字符串拆分为分隔字符之间的非空片段。分隔符会被插入到 Lua 模式的字符类中;它不是字面意义上的多字符分隔符。空字段会被省略。
Functions.text.starts_with 公共使用 Lua 字符串切片测试字面的字节前缀。空前缀视为匹配;模式字符没有特殊含义,并区分大小写。
Functions.text.trim 公共移除字符串开头和结尾符合 Lua 模式的空白字符。
Functions.text.wrap 公共在接近目标列数的空白边界处对文本换行。长单词会保持完整。
Functions.trends.calculate 公共根据加权的伤害和治疗历史估算带符号的生命值变化。伤害贡献负速率,治疗贡献正速率。未提供窗口时读取实时配置文件中的窗口,使用实时时钟和旧版舍入服务,并保留现有的加权和舍入后时长计算。此辅助函数不会验证或清理历史,不会截断时间戳,也不保证结果有限。
Functions.trends.calculateOld 公共使用实时配置文件的历史窗口、时钟和旧版舍入服务,运行历史生命值快照的趋势公式。保留其最大生命值的过渡、在满血或零血时提前停止、加权、错误和返回值数量。空数组或未记录任何加权变化的快照只返回零,而不是 0/0 的结果;这是旧版算法,而不是经过验证的预测。
Functions.values.compare 公共使用 RM 运算符标识符比较两个值:LESSTHAN、LESSTHANOREQUALS、GREATERTHAN、GREATERTHANOREQUALS、EQUALS、NOTEQUALS 或 DIVISIBLE。无效的运算符会发出警告并返回 nil;操作数必须支持所选的 Lua 运算。
Functions.values.isin 公共检查表中某个键是否有非 nil 的值。存储的 false 值仍算作存在;这不会扫描表中的值。
Functions.values.isint 公共执行旧版的整数或规范数字字符串拼写测试。数字使用向下取整后的相等比较;字符串必须等于经数字转换并向下取整后得到的拼写。其他类型返回 false。这不是有限数字的验证器。
Functions.values.round 公共使用现有的 floor(num * 10^places + 0.5) / 10^places 公式进行舍入。places 默认为零,可以为负。处于一半的负值会向正无穷方向舍入;不会添加有限数字验证或其他舍入策略。