diff options
-rw-r--r-- | locale/zh-CN/meta.lni | 48 | ||||
-rw-r--r-- | meta/template/math.lua | 68 | ||||
-rw-r--r-- | meta/template/os.lua | 25 |
3 files changed, 137 insertions, 4 deletions
diff --git a/locale/zh-CN/meta.lni b/locale/zh-CN/meta.lni index 61e48393..5d69d88b 100644 --- a/locale/zh-CN/meta.lni +++ b/locale/zh-CN/meta.lni @@ -251,3 +251,51 @@ end "filetype.file" = 是一个打开的文件句柄。 "filetype.closed file" = 是一个关闭的文件句柄。 "filetype.nil" = 不是文件句柄。 + +math = '' +"math.abs" = 返回 `x` 的绝对值。 +"math.acos" = 返回 `x` 的反余弦值(用弧度表示)。 +"math.asin" = 返回 `x` 的反正弦值(用弧度表示)。 +"math.atan<5.2" = 返回 `x` 的反正切值(用弧度表示)。 +"math.atan>5.3" = 返回 `y/x` 的反正切值(用弧度表示)。 +"math.atan2" = 返回 `y/x` 的反正切值(用弧度表示)。 +"math.ceil" = 返回不小于 `x` 的最小整数值。 +"math.cos" = 返回 `x` 的余弦(假定参数是弧度)。 +"math.cosh" = 返回 `x` 的双曲余弦(假定参数是弧度)。 +"math.deg" = 将角 `x` 从弧度转换为角度。 +"math.exp" = 返回 `e^x` 的值 (e 为自然对数的底)。 +"math.floor" = 返回不大于 `x` 的最大整数值。 +"math.fmod" = 返回 `x` 除以 `y`,将商向零圆整后的余数。 +"math.frexp" = 将 `x` 分解为尾数与指数,返回值符合 `x = m * (2 ^ e)` 。`e` 是一个整数,`m` 是 [0.5, 1) 之间的规格化小数 (`x` 为0时 `m` 为0)。 +"math.huge" = 一个比任何数字值都大的浮点数。 +"math.ldexp" = 返回 `m * (2 ^ e)` 。 +"math.log<5.1" = 返回 `x` 的自然对数。 +"math.log>5.2" = 回以指定底的 `x` 的对数。 +"math.log10" = 返回 `x` 的以10为底的对数。 +"math.max" = 返回参数中最大的值, 大小由 Lua 操作 `<` 决定。 +"math.maxinteger" = 最大值的整数。 +"math.min" = 返回参数中最小的值, 大小由 Lua 操作 `<` 决定。 +"math.mininteger" = 最小值的整数。 +"math.modf" = 返回 `x` 的整数部分和小数部分。 +"math.pi" = *π* 的值。 +"math.pow" = 返回 `x ^ y` 。 +"math.rad" = 将角 `x` 从角度转换为弧度。 +"math.random" = [[ +* `math.random()`: 返回 [0,1) 区间内一致分布的浮点伪随机数。 +* `math.random(n)`: 返回 [1, n] 区间内一致分布的整数伪随机数。 +* `math.random(m, n)`: 返回 [m, n] 区间内一致分布的整数伪随机数。 +]] +"math.randomseed<5.3" = 把 `x` 设为伪随机数发生器的“种子”: 相同的种子产生相同的随机数列。 +"math.randomseed>5.4" = [[ +* `math.randomseed(x, y)`: 将 `x` 与 `y` 连接为128位的种子来重新初始化伪随机生成器。 +* `math.randomseed(x)`: 等同于 `math.randomseed(x, 0)` 。 +* `math.randomseed()`: Generates a seed with a weak attempt for randomness.(不会翻) +]] +"math.sin" = 返回 `x` 的正弦值(假定参数是弧度)。 +"math.sinh" = 返回 `x` 的双曲正弦值(假定参数是弧度)。 +"math.sqrt" = 返回 `x` 的平方根。 +"math.tan" = 返回 `x` 的正切值(假定参数是弧度)。 +"math.tanh" = 返回 `x` 的双曲正切值(假定参数是弧度)。 +"math.tointeger" = 如果 `x` 可以转换为一个整数, 返回该整数。 +"math.type" = 如果 `x` 是整数,返回 `"integer"`, 如果它是浮点数,返回 `"float"`, 如果 `x` 不是数字,返回 `nil`。 +"math.ult" = 如果整数 `m` 和 `n` 以无符号整数形式比较, `m` 在 `n` 之下,返回布尔真否则返回假。 diff --git a/meta/template/math.lua b/meta/template/math.lua index 11dc6e9a..a825d905 100644 --- a/meta/template/math.lua +++ b/meta/template/math.lua @@ -1,108 +1,150 @@ ---@meta +---@DES 'math' ---@class math* ---@field huge number +---#if VERSION >= 5.3 then ---@field maxinteger integer ---@field mininteger integer +---#end ---@field pi number math = {} +---@DES 'math.abs' ---@param x number ---@return number function math.abs(x) end +---@DES 'math.acos' ---@param x number ---@return number function math.acos(x) end +---@DES 'math.asin' ---@param x number ---@return number function math.asin(x) end +---#if VERSION <= 5.2 then +---@DES 'math.atan<5.2' ---@param y number ----@param x number +---@return number +function math.atan(y) end +---#else +---@DES 'math.atan>5.3' +---@param y number +---@param x? number ---@return number function math.atan(y, x) end +---#end +---@version <5.2 +---@DES 'math.atan2' ---@param y number ---@param x number ---@return number - ----@param y any ----@param x any function math.atan2(y, x) end +---@DES 'math.ceil' ---@param x number ---@return integer function math.ceil(x) end +---@DES 'math.cos' ---@param x number function math.cos(x) end +---@version <5.2 +---@DES 'math.cosh' ---@param x number ---@return number function math.cosh(x) end +---@DES 'math.deg' ---@param x number ---@return number function math.deg(x) end +---@DES 'math.exp' ---@param x number ---@return number function math.exp(x) end +---@DES 'math.floor' ---@param x number ---@return number function math.floor(x) end +---@DES 'math.fmod' ---@param x number ---@param y number ---@return number function math.fmod(x, y) end +---@version <5.2 +---@DES 'math.frexp' ---@param x number ---@return number m ---@return number e function math.frexp(x) end +---@version <5.2 +---@DES 'math.ldexp' ---@param m number ---@param e number ---@return number function math.ldexp(m, e) end +---#if VERSION <= 5.1 then +---@DES 'math.log<5.1' +---@param x number +---@return number +function math.log(x) end +---#else +---@DES 'math.log>5.2' ---@param x number ---@param base? integer ---@return number function math.log(x, base) end +---#end +---@version <5.1 +---@DES 'math.log10' ---@param x number ---@return number function math.log10(x) end +---@DES 'math.max' ---@param x number ---@vararg number ---@return number function math.max(x, ...) end +---@DES 'math.min' ---@param x number ---@vararg number ---@return number function math.min(x, ...) end +---@DES 'math.modf' ---@param x number ---@return integer ---@return number function math.modf(x) end +---@version <5.2 +---@DES 'math.pow' ---@param x number ---@param y number ---@return number function math.pow(x, y) end +---@DES 'math.rad' ---@param x number ---@return number function math.rad(x) end +---@DES 'math.random' ---@overload fun():number ---@overload fun(m: integer):integer ---@param m integer @@ -110,34 +152,51 @@ function math.rad(x) end ---@return integer function math.random(m, n) end +---#if VERSION >= 5.4 then +---@DES 'math.randomseed>5.4' ---@param x? integer ---@param y? integer function math.randomseed(x, y) end +---#else +---@DES 'math.randomseed<5.3' +---@param x integer +function math.randomseed(x) end +---#end +---@DES 'math.sin' ---@param x number ---@return number function math.sin(x) end +---@version <5.2 +---@DES 'math.sinh' ---@param x number ---@return number function math.sinh(x) end +---@DES 'math.sqrt' ---@param x number ---@return number function math.sqrt(x) end +---@DES 'math.tan' ---@param x number ---@return number function math.tan(x) end +---@version <5.2 +---@DES 'math.tanh' ---@param x number ---@return number function math.tanh(x) end +---@version >5.3 +---@DES 'math.tointeger' ---@param x number ---@return integer? function math.tointeger(x) end +---@DES 'math.type' ---@param x any ---@return ---| '"integer"' @@ -145,6 +204,7 @@ function math.tointeger(x) end ---| 'nil' function math.type(x) end +---@DES 'math.ult' ---@param m integer ---@param n integer ---@return boolean diff --git a/meta/template/os.lua b/meta/template/os.lua index 173900eb..1410d69f 100644 --- a/meta/template/os.lua +++ b/meta/template/os.lua @@ -1,40 +1,62 @@ ---@meta +---#DES 'os' ---@class os* os = {} +---#DES 'os.clock' ---@return number function os.clock() end +---#DES 'os.date' ---@param format? string ---@param time? integer ---@return string function os.date(format, time) end +---#DES 'os.difftime' ---@param t2 integer ---@param t1 integer ---@return integer function os.difftime(t2, t1) end +---#if VERSION <= 5.1 then +---#DES 'os.execute<5.1' +---@param command string +---@return integer code +function os.execute(command) end +---#else +---#DES 'os.execute>5.2' ---@param command string ---@return boolean? suc ---@return exitcode? exitcode ---@return integer? code function os.execute(command) end +---#end +---#if VERSION <= 5.1 and not JIT then +---#DES 'os.exit<5.1' +---@param code? integer +function os.exit(code, close) end +---#else +---#DES 'os.exit>5.2' ---@param code? boolean|integer ---@param close? boolean function os.exit(code, close) end +---#end +---#DES 'os.getenv' ---@param varname string ---@return string function os.getenv(varname) end +---#DES 'os.remove' ---@param filename string ---@return boolean suc ---@return string? errmsg function os.remove(filename) end +---#DES 'os.rename' ---@param oldname string ---@param newname string ---@return boolean suc @@ -49,15 +71,18 @@ function os.rename(oldname, newname) end ---| '"numeric"' ---| '"time"' +---#DES 'os.setlocale' ---@param locale string|nil ---@param category? localecategory ---@return string localecategory function os.setlocale(locale, category) end +---#DES 'os.time' ---@param date? table ---@return integer function os.time(date) end +---#DES 'os.tmpname' ---@return string function os.tmpname() end |