2026-02-04 15:32:13 +08:00
<!doctype html>
< html lang = "zh-CN" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width,initial-scale=1" / >
< meta name = "generator" content = "VuePress 2.0.0-rc.20" / >
< style >
:root {
--vp-c-bg: #fff;
}
[data-theme='dark'] {
--vp-c-bg: #1b1b1f;
}
html,
body {
background-color: var(--vp-c-bg);
}
< / style >
< script >
const useChoice = localStorage.getItem('vuepress-color-scheme')
const systemStatus =
'matchMedia' in window
? window.matchMedia('(prefers-color-scheme: dark)').matches
: false
if (useChoice === 'light') {
document.documentElement.dataset.theme = 'light'
} else if (useChoice === 'dark' || systemStatus) {
document.documentElement.dataset.theme = 'dark'
}
< / script >
< title > CMLeonOS Lua API 文档 | CMLeonOS官方文档站< / title > < meta name = "description" content = "CMLeonOS是一个基于微内核架构的操作系统, 它的目标是提供一个简单、可靠、安全的操作系统环境。" >
< link rel = "preload" href = "/assets/style-BmL0kmLr.css" as = "style" > < link rel = "stylesheet" href = "/assets/style-BmL0kmLr.css" >
2026-02-10 01:51:31 +08:00
< link rel = "modulepreload" href = "/assets/app-C1vKFkGc.js" > < link rel = "modulepreload" href = "/assets/lua.html-3_L4TJjQ.js" >
< link rel = "prefetch" href = "/assets/commands.html-DsR2axk8.js" as = "script" > < link rel = "prefetch" href = "/assets/get-started.html-CfHiKCXZ.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-BMbDjf_W.js" as = "script" > < link rel = "prefetch" href = "/assets/404.html-ByTdGTSm.js" as = "script" >
2026-02-04 15:32:13 +08:00
< / head >
< body >
2026-02-05 22:00:33 +08:00
< div id = "app" > <!-- [ --> < div class = "vp-theme-container external-link-icon" vp-container > <!-- [ --> < header class = "vp-navbar" vp-navbar > < div class = "vp-toggle-sidebar-button" title = "toggle sidebar" aria-expanded = "false" role = "button" tabindex = "0" > < div class = "icon" aria-hidden = "true" > < span > < / span > < span > < / span > < span > < / span > < / div > < / div > < span > < a class = "route-link" href = "/" > <!-- --> < span class = "vp-site-name" aria-hidden = "true" > CMLeonOS官方文档站< / span > < / a > < / span > < div class = "vp-navbar-items-wrapper" style = "" > <!-- [ --> <!-- ] --> < nav class = "vp-navbar-items vp-hide-mobile" aria-label = "site navigation" > <!-- [ --> < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/" aria-label = "主页" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 主页<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/get-started.html" aria-label = "配置教程" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 配置教程<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link route-link-active auto-link" href = "/lua.html" aria-label = "CMLeonOS Lua API 文档" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> CMLeonOS Lua API 文档<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/commands.html" aria-label = "命令列表" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 命令列表<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > <!-- ] --> < / nav > <!-- [ --> <!-- ] --> < button type = "button" class = "vp-toggle-color-mode-button" title = "toggle color mode" > < svg class = "light-icon" viewbox = "0 0 32 32" style = "" > < path d = "M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill = "currentColor" > < / path > < path d = "M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill = "currentColor" > < / path > < path d = "M2 15.005h5v2H2z" fill = "currentColor" > < / path > < path d = "M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill = "currentColor" > < / path > < path d = "M15 25.005h2v5h-2z" fill = "currentColor" > < / path > < path d = "M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill = "currentColor" > < / path > < path d = "M25 15.005h5v2h-5z" fill = "currentColor" > < / path > < path d = "M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill = "currentColor" > < / path > < path d = "M15 2.005h2v5h-2z" fill = "currentColor" > < / path > < / svg > < svg class = "dark-icon" viewbox = "0 0 32 32" style = "display:none;" > < path d = "M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill = "currentColor" > < / path > < / svg > < / button > <!-- --> < / div > < / header > <!-- ] --> < div class = "vp-sidebar-mask" > < / div > <!-- [ --> < aside class = "vp-sidebar" vp-sidebar > < nav class = "vp-navbar-items" aria-label = "site navigation" > <!-- [ --> < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/" aria-label = "主页" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 主页<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/get-started.html" aria-label = "配置教程" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 配置教程<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link route-link-active auto-link" href = "/lua.html" aria-label = "CMLeonOS Lua API 文档" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> CMLeonOS Lua API 文档<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > < div class = "vp-navbar-item" > < a class = "route-link auto-link" href = "/commands.html" aria-label = "命令列表" > <!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> 命令列表<!-- [ --> <!-- [ --> <!-- ] --> <!-- ] --> < / a > < / div > <!-- ] --> < / nav > <!-- [ --> <!-- ] --> < ul class = "vp-sidebar-items" > <!-- [ --> < li > < p tabindex = "0" class = "vp-sidebar-item vp-sidebar-heading" > CMLeonOS Lua API 文档 <!-- --> < / p > <!-- --> < / li > <!-- ] --> < / ul > <!-- [ --> <!-- ] --> < / aside > <!-- ] --> <!-- [ --> < main class = "vp-page" > <!-- [ --> <!-- ] --> < div vp-content > <!-- [ --> <!-- ] --> < div > < h1 id = "cmleonos-lua-api-文档" tabindex = "-1" > < a class = "header-anchor" href = "#cmleonos-lua-api-文档" > < span >
2026-02-04 15:32:13 +08:00
< span class = "line" > < span class = "token function" > assert< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > false< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " This is false" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "collectgarbage-opt" tabindex = "-1" > < a class = "header-anchor" href = "#collectgarbage-opt" > < span > collectgarbage([opt])< / span > < / a > < / h3 > < p > 垃圾回收控制。支持以下选项:< / p > < ul > < li > < code > " collect" < / code > - 执行垃圾回收< / li > < li > < code > " count" < / code > - 返回当前内存使用量(千字节)< / li > < li > < code > " step" < / code > - 执行一步垃圾回收< / li > < li > < code > " isrunning" < / code > - 返回垃圾回收器是否在运行< / li > < / ul > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > collectgarbage< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " collect" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > collectgarbage< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " count" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "dofile-filename" tabindex = "-1" > < a class = "header-anchor" href = "#dofile-filename" > < span > dofile([filename])< / span > < / a > < / h3 > < p > 加载并执行指定文件。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > dofile< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " script.lua" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "input-prompt" tabindex = "-1" > < a class = "header-anchor" href = "#input-prompt" > < span > input([prompt])< / span > < / a > < / h3 > < p > 从控制台读取一行输入。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > name < span class = "token operator" > =< / span > < span class = "token function" > input< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Enter your name: " < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello, " < / span > < span class = "token operator" > ..< / span > name< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "error-message-level" tabindex = "-1" > < a class = "header-anchor" href = "#error-message-level" > < span > error(message [, level])< / span > < / a > < / h3 > < p > 抛出错误并终止当前受保护的调用。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > error< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Something went wrong" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "ipairs-t" tabindex = "-1" > < a class = "header-anchor" href = "#ipairs-t" > < span > ipairs(t)< / span > < / a > < / h3 > < p > 遍历数组,返回迭代器函数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > for< / span > i< span class = "token punctuation" > ,< / span > v < span class = "token keyword" > in< / span > < span class = "token function" > ipairs< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > {< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > do< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > i< span class = "token punctuation" > ,< / span > v< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "loadfile-filename" tabindex = "-1" > < a class = "header-anchor" href = "#loadfile-filename" > < span > loadfile([filename])< / span > < / a > < / h3 > < p > 加载文件但不执行,返回函数或 nil, error。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > func< span class = "token punctuation" > ,< / span > err < span class = "token operator" > =< / span > < span class = "token function" > loadfile< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " script.lua" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > if< / span > func < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > func< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "load-string-chunkname" tabindex = "-1" > < a class = "header-anchor" href = "#load-string-chunkname" > < span > load(string [, chunkname])< / span > < / a > < / h3 > < p > 加载字符串但不执行,返回函数或 nil, error。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > func < span class = "token operator" > =< / span > < span class = "token function" > load< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " print(' Hello' )" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > if< / span > func < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > func< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "loadstring-string-chunkname" tabindex = "-1" > < a class = "header-anchor" href = "#loadstring-string-chunkname" > < span > loadstring(string [, chunkname])< / span > < / a > < / h3 > < p > 加载字符串但不执行,返回函数或 nil, error。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > func < span class = "token operator" > =< / span > < span class = "token function" > loadstring< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " print(' Hello' )" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > if< / span > func < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > func< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "next-table-index" tabindex = "-1" > < a class = "header-anchor" href = "#next-table-index" > < span > next(table [, index])< / span > < / a > < / h3 > < p > 返回表的下一个键值对。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > a < span class = "token operator" > =< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > b < span class = "token operator" > =< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > k< span class = "token punctuation" > ,< / span > v < span class = "token operator" > =< / span > < span class = "token function" > next< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > k< span class = "token punctuation" > ,< / span > v< span class = "token punctuation" > )< / span > < span class = "token comment" > -- a, 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "pairs-t" tabindex = "-1" > < a class = "header-anchor" href = "#pairs-t" > < span > pairs(t)< / span > < / a > < / h3 > < p > 遍历表,返回迭代器函数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > x < span class = "token operator" > =< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > y < span class = "token operator" > =< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > z < span class = "token operator" > =< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token keyword" > for< / span > k< span class = "token punctuation" > ,< / span > v < span class = "token keyword" > in< / span > < span class = "token function" > pairs< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < span class = "token keyword" > do< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > k< span class = "token punctuation" > ,< / span > v< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "pcall-f-arg1" tabindex = "-1" > < a class = "header-anchor" href = "#pcall-f-arg1" > < span > pcall(f [, arg1, ...])< / span > < / a > < / h3 > < p > 安全调用函数,捕获错误。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > status< span class = "token punctuation" > ,< / span > err < span class = "token operator" > =< / span > < span class = "token function" > pcall< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > error< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Something went wrong" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > if< / span > < span class = "token keyword" > not< / span > status < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > err< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "print" tabindex = "-1" > < a class = "header-anchor" href = "#print" > < span > print(...)< / span > < / a > < / h3 > < p > 打印参数到控制台。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello, World!" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Value:" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 42< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "rawequal-v1-v2" tabindex = "-1" > < a class = "header-anchor" href = "#rawequal-v1-v2" > < span > rawequal(v1, v2)< / span > < / a > < / h3 > < p > 比较两个值是否相等(不使用元方法)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > rawequal< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- true< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > rawequal< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- false< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "rawlen-v" tabindex = "-1" > < a class = "header-anchor" href = "#rawlen-v" > < span > rawlen(v)< / span > < / a > < / h3 > < p > 返回值的长度(不使用元方法)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > rawlen< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 5< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "rawget-table-index" tabindex = "-1" > < a class = "header-anchor" href = "#rawget-table-index" > < span > rawget(table, index)< / span > < / a > < / h3 > < p > 获取表的值(不使用元方法)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token function" > setmetatable< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > ,< / span > < span class = "token punctuation" > {< / span > __index < span class = "token operator" > =< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > < span class = "token string" > " default" < / span > < span class = "token keyword" > end< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > rawget< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > < span class = "token string" > " key" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- default< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "rawset-table-index-value" tabindex = "-1" > < a class = "header-anchor" href = "#rawset-table-index-value" > < span > rawset(table, index, value)< / span > < / a > < / h3 > < p > 设置表的值(不使用元方法)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > rawset< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > < span class = "token string" > " key" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "select-index" tabindex = "-1" > < a class = "header-anchor" href = "#select-index" > < span > select(index, ...)< / span > < / a > < / h3 > < p > 返回第 index 个参数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > select< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " a" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " b" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " c" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- c< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "getmetatable-object" tabindex = "-1" > < a class = "header-anchor" href = "#getmetatable-object" > < span > getmetatable(object)< / span > < / a > < / h3 > < p > 返回对象的元表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > mt < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > __add < span class = "token operator" > =< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > a< span class = "token punctuation" > ,< / span > b< span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > a < span class = "token operator" > +< / span > b < span class = "token keyword" > end< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > setmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > mt< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > getmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > __add< span class = "token punctuation" > )< / span > < span class = "token comment" > -- function< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "setmetatable-table-metatable" tabindex = "-1" > < a class = "header-anchor" href = "#setmetatable-table-metatable" > < span > setmetatable(table, metatable)< / span > < / a > < / h3 > < p > 设置对象的元表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > mt < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > __add < span class = "token operator" > =< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > a< span class = "token punctuation" > ,< / span > b< span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > a < span class = "token operator" > +< / span > b < span class = "token keyword" > end< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > setmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > mt< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "tonumber-e-base" tabindex = "-1" > < a class = "header-anchor" href = "#tonumber-e-base" > < span > tonumber(e [, base])< / span > < / a > < / h3 > < p > 将值转换为数字。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > tonumber< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " 123" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 123< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > tonumber< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " FF" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 16< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 255< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "tostring-v" tabindex = "-1" > < a class = "header-anchor" href = "#tostring-v" > < span > tostring(v)< / span > < / a > < / h3 > < p > 将值转换为字符串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > tostring< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 123< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- " 123" < / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > tostring< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- " table: 0x..." < / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "type-v" tabindex = "-1" > < a class = "header-anchor" href = "#type-v" > < span > type(v)< / span > < / a > < / h3 > < p > 返回值的类型。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > type< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 123< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- number< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > type< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- string< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > type< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- table< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token function" > type< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > nil< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- nil< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "xpcall-f-arg1" tabindex = "-1" > < a class = "header-anchor" href = "#xpcall-f-arg1" > < span > xpcall(f [, arg1, ...])< / span > < / a > < / h3 > < p > 扩展的 pcall, 返回状态和错误。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > ok< span class = "token punctuation" > ,< / span > err < span class = "token operator" > =< / span > < span class = "token function" > xpcall< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > error< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Something went wrong" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > if< / span > < span class = "token keyword" > not< / span > ok < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > err< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "数学库-math" tabindex = "-1" > < a class = "header-anchor" href = "#数学库-math" > < span > 数学库 (math)< / span > < / a > < / h2 > < h3 id = "math-abs-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-abs-x" > < span > math.abs(x)< / span > < / a > < / h3 > < p > 返回 x 的绝对值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > abs< / span > < span class = "token punctuation" > (< / span > < span class = "token operator" > -< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 5< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > abs< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 5< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-acos-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-acos-x" > < span > math.acos(x)< / span > < / a > < / h3 > < p > 返回 x 的反余弦值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > acos< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1.570796< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-asin-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-asin-x" > < span > math.asin(x)< / span > < / a > < / h3 > < p > 返回 x 的反正弦值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > asin< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-atan2-y-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-atan2-y-x" > < span > math.atan2(y, x)< / span > < / a > < / h3 > < p > 返回 y/x 的反正切值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > atan2< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-atan-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-atan-x" > < span > math.atan(x)< / span > < / a > < / h3 > < p > 返回 x 的反正切值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > atan< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0.785398< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-ceil-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-ceil-x" > < span > math.ceil(x)< / span > < / a > < / h3 > < p > 返回不小于 x 的最小整数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > ceil< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 3.5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 4< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > ceil< / span > < span class = "token punctuation" > (< / span > < span class = "token operator" > -< / span > < span class = "token number" > 3.5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- -3< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-cosh-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-cosh-x" > < span > math.cosh(x)< / span > < / a > < / h3 > < p > 返回 x 的双曲余弦值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > cosh< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-cos-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-cos-x" > < span > math.cos(x)< / span > < / a > < / h3 > < p > 返回 x 的余弦值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > cos< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > cos< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > pi< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- -1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-deg-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-deg-x" > < span > math.deg(x)< / span > < / a > < / h3 > < p > 将弧度转换为角度。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > deg< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > pi< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 180< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-exp-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-exp-x" > < span > math.exp(x)< / span > < / a > < / h3 > < p > 返回 e 的 x 次方。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > exp< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 2.718282< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-floor-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-floor-x" > < span > math.floor(x)< / span > < / a > < / h3 > < p > 返回不大于 x 的最大整数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > floor< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 3.5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 3< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > floor< / span > < span class = "token punctuation" > (< / span > < span class = "token operator" > -< / span > < span class = "token number" > 3.5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- -4< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-fmod-x-y" tabindex = "-1" > < a class = "header-anchor" href = "#math-fmod-x-y" > < span > math.fmod(x, y)< / span > < / a > < / h3 > < p > 返回 x 除以 y 的余数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > fmod< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 7< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-frexp-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-frexp-x" > < span > math.frexp(x)< / span > < / a > < / h3 > < p > 将 x 分解为尾数和指数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > m< span class = "token punctuation" > ,< / span > e < span class = "token operator" > =< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > frexp< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1.5< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > m< span class = "token punctuation" > ,< / span > e< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-ldexp-m-e" tabindex = "-1" > < a class = "header-anchor" href = "#math-ldexp-m-e" > < span > math.ldexp(m, e)< / span > < / a > < / h3 > < p > 返回 m 乘以 2 的 e 次方。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > ldexp< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 4< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-log10-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-log10-x" > < span > math.log10(x)< / span > < / a > < / h3 > < p > 返回 x 的以 10 为底的对数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > log10< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 100< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 2< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-log-x-base" tabindex = "-1" > < a class = "header-anchor" href = "#math-log-x-base" > < span > math.log(x [, base])< / span > < / a > < / h3 > < p > 返回 x 的对数。默认以 e 为底。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > log< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 2.302585< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > log< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 100< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 2< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-max-x1" tabindex = "-1" > < a class = "header-anchor" href = "#math-max-x1" > < span > math.max(x1, ...)< / span > < / a > < / h3 > < p > 返回参数中的最大值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > max< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 3< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > max< / span > < span class = "token punctuation" > (< / span > < span class = "token operator" > -< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ,< / span > < span class = "token operator" > -< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token operator" > -< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- -1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-min-x1" tabindex = "-1" > < a class = "header-anchor" href = "#math-min-x1" > < span > math.min(x1, ...)< / span > < / a > < / h3 > < p > 返回参数中的最小值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > min< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > min< / span > < span class = "token punctuation" > (< / span > < span class = "token operator" > -< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ,< / span > < span class = "token operator" > -< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token operator" > -< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- -5< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-modf-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-modf-x" > < span > math.modf(x)< / span > < / a > < / h3 > < p > 将 x 分解为整数和小数部分。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > i< span class = "token punctuation" > ,< / span > f < span class = "token operator" > =< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > modf< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 3.5< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > i< span class = "token punctuation" > ,< / span > f< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-pow-x-y" tabindex = "-1" > < a class = "header-anchor" href = "#math-pow-x-y" > < span > math.pow(x, y)< / span > < / a > < / h3 > < p > 返回 x 的 y 次方。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > pow< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 8< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > pow< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 100< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-rad-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-rad-x" > < span > math.rad(x)< / span > < / a > < / h3 > < p > 将角度转换为弧度。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > rad< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 180< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 3.141593< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-random-m-n" tabindex = "-1" > < a class = "header-anchor" href = "#math-random-m-n" > < span > math.random([m [, n]])< / span > < / a > < / h3 > < p > 返回随机数。无参数返回 [0,1),一个参数返回 [1,m],两个参数返回 [m,n]。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > random< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0 或 1< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > random< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1-10< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > random< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 5-10< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-randomseed-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-randomseed-x" > < span > math.randomseed(x)< / span > < / a > < / h3 > < p > 设置随机数生成器的种子。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > math< span class = "token punctuation" > .< / span > < span class = "token function" > randomseed< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > time< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > random< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-sinh-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-sinh-x" > < span > math.sinh(x)< / span > < / a > < / h3 > < p > 返回 x 的双曲正弦值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > sinh< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-sin-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-sin-x" > < span > math.sin(x)< / span > < / a > < / h3 > < p > 返回 x 的正弦值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > sin< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > sin< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > pi< span class = "token operator" > /< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-sqrt-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-sqrt-x" > < span > math.sqrt(x)< / span > < / a > < / h3 > < p > 返回 x 的平方根。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > sqrt< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 16< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 4< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > sqrt< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1.414214< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-tanh-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-tanh-x" > < span > math.tanh(x)< / span > < / a > < / h3 > < p > 返回 x 的双曲正切值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > tanh< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-tan-x" tabindex = "-1" > < a class = "header-anchor" href = "#math-tan-x" > < span > math.tan(x)< / span > < / a > < / h3 > < p > 返回 x 的正切值(弧度)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > tan< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > < span class = "token function" > tan< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > pi< span class = "token operator" > /< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-pi" tabindex = "-1" > < a class = "header-anchor" href = "#math-pi" > < span > math.pi< / span > < / a > < / h3 > < p > 圆周率常量。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > pi< span class = "token punctuation" > )< / span > < span class = "token comment" > -- 3.141592653589793< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "math-huge" tabindex = "-1" > < a class = "header-anchor" href = "#math-huge" > < span > math.huge< / span > < / a > < / h3 > < p > 表示最大数值的常量。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > math< span class = "token punctuation" > .< / span > huge< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "字符串库-string" tabindex = "-1" > < a class = "header-anchor" href = "#字符串库-string" > < span > 字符串库 (string)< / span > < / a > < / h2 > < h3 id = "string-byte-s-i-j" tabindex = "-1" > < a class = "header-anchor" href = "#string-byte-s-i-j" > < span > string.byte(s [, i [, j]])< / span > < / a > < / h3 > < p > 返回字符的内部数值表示。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > byte< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ABC" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 65< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > byte< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ABC" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 66< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > byte< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ABC" < / span > < span class = "token punctuation" > ,< / span > < span class = "token operator" > -< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 67< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-char" tabindex = "-1" > < a class = "header-anchor" href = "#string-char" > < span > string.char(...)< / span > < / a > < / h3 > < p > 将数值转换为字符。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > char< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 65< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 66< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 67< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- ABC< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-dump-function" tabindex = "-1" > < a class = "header-anchor" href = "#string-dump-function" > < span > string.dump(function)< / span > < / a > < / h3 > < p > 返回函数的二进制表示。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > dump< / span > < span class = "token punctuation" > (< / span > print< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-find-s-pattern-init-plain" tabindex = "-1" > < a class = "header-anchor" href = "#string-find-s-pattern-init-plain" > < span > string.find(s, pattern [, init [, plain]])< / span > < / a > < / h3 > < p > 在字符串中查找模式。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > find< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " world" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 7< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > find< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " l" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 3< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-format-formatstring" tabindex = "-1" > < a class = "header-anchor" href = "#string-format-formatstring" > < span > string.format(formatstring, ...)< / span > < / a > < / h3 > < p > 格式化字符串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > format< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Value: %d" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 42< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > format< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Name: %s, Age: %d" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " Alice" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 30< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-gmatch-s-pattern" tabindex = "-1" > < a class = "header-anchor" href = "#string-gmatch-s-pattern" > < span > string.gmatch(s, pattern)< / span > < / a > < / h3 > < p > 返回字符串中所有匹配模式的迭代器。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > for< / span > word < span class = "token keyword" > in< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > gmatch< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " %a+" < / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > do< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > word< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-gsub-s-pattern-repl-n" tabindex = "-1" > < a class = "header-anchor" href = "#string-gsub-s-pattern-repl-n" > < span > string.gsub(s, pattern, repl [, n])< / span > < / a > < / h3 > < p > 替换字符串中的模式。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > gsub< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " Lua" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- hello Lua< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > gsub< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " l" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " L" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- HeLLo Lua< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-len-s" tabindex = "-1" > < a class = "header-anchor" href = "#string-len-s" > < span > string.len(s)< / span > < / a > < / h3 > < p > 返回字符串长度。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > len< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 5< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-lower-s" tabindex = "-1" > < a class = "header-anchor" href = "#string-lower-s" > < span > string.lower(s)< / span > < / a > < / h3 > < p > 将字符串转换为小写。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > lower< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " HELLO" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- hello< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-match-s-pattern-init" tabindex = "-1" > < a class = "header-anchor" href = "#string-match-s-pattern-init" > < span > string.match(s, pattern [, init])< / span > < / a > < / h3 > < p > 返回字符串中第一个匹配模式的子串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > match< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " %w+" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- hello< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-rep-s-n" tabindex = "-1" > < a class = "header-anchor" href = "#string-rep-s-n" > < span > string.rep(s, n)< / span > < / a > < / h3 > < p > 重复字符串 n 次。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > rep< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ab" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- ababab< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-reverse-s" tabindex = "-1" > < a class = "header-anchor" href = "#string-reverse-s" > < span > string.reverse(s)< / span > < / a > < / h3 > < p > 反转字符串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > reverse< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- olleh< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-sub-s-i-j" tabindex = "-1" > < a class = "header-anchor" href = "#string-sub-s-i-j" > < span > string.sub(s, i [, j])< / span > < / a > < / h3 > < p > 返回字符串的子串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > sub< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- hello< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > sub< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello world" < / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 7< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- world< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "string-upper-s" tabindex = "-1" > < a class = "header-anchor" href = "#string-upper-s" > < span > string.upper(s)< / span > < / a > < / h3 > < p > 将字符串转换为大写。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > string< span class = "token punctuation" > .< / span > < span class = "token function" > upper< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- HELLO< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "操作系统库-os" tabindex = "-1" > < a class = "header-anchor" href = "#操作系统库-os" > < span > 操作系统库 (os)< / span > < / a > < / h2 > < h3 id = "os-clock" tabindex = "-1" > < a class = "header-anchor" href = "#os-clock" > < span > os.clock()< / span > < / a > < / h3 > < p > 返回程序使用的 CPU 时间(秒)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > clock< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-gethostname" tabindex = "-1" > < a class = "header-anchor" href = "#os-gethostname" > < span > os.gethostname()< / span > < / a > < / h3 > < p > 返回系统主机名。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > gethostname< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-getenv-varname" tabindex = "-1" > < a class = "header-anchor" href = "#os-getenv-varname" > < span > os.getenv(varname)< / span > < / a > < / h3 > < p > 返回环境变量的值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > getenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " PATH" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-setenv-varname-value" tabindex = "-1" > < a class = "header-anchor" href = "#os-setenv-varname-value" > < span > os.setenv(varname, value)< / span > < / a > < / h3 > < p > 设置环境变量的值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > setenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-delenv-varname" tabindex = "-1" > < a class = "header-anchor" href = "#os-delenv-varname" > < span > os.delenv(varname)< / span > < / a > < / h3 > < p > 删除环境变量。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > delenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-addenv-varname-value" tabindex = "-1" > < a class = "header-anchor" href = "#os-addenv-varname-value" > < span > os.addenv(varname, value)< / span > < / a > < / h3 > < p > 添加环境变量(同 setenv) 。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > addenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-execute-command" tabindex = "-1" > < a class = "header-anchor" href = "#os-execute-command" > < span > os.execute(command)< / span > < / a > < / h3 > < p > 执行 Shell 命令。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > execute< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ls" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > execute< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " echo Hello" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-executefile-path" tabindex = "-1" > < a class = "header-anchor" href = "#os-executefile-path" > < span > os.executefile(path)< / span > < / a > < / h3 > < p > 执行命令文件(.cm) 。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > executefile< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " myscript.cm" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-reboot" tabindex = "-1" > < a class = "header-anchor" href = "#os-reboot" > < span > os.reboot()< / span > < / a > < / h3 > < p > 重启系统。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > reboot< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-shutdown" tabindex = "-1" > < a class = "header-anchor" href = "#os-shutdown" > < span > os.shutdown()< / span > < / a > < / h3 > < p > 关闭系统。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > shutdown< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-sleep-seconds" tabindex = "-1" > < a class = "header-anchor" href = "#os-sleep-seconds" > < span > os.sleep(seconds)< / span > < / a > < / h3 > < p > 休眠指定秒数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > sleep< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-beep" tabindex = "-1" > < a class = "header-anchor" href = "#os-beep" > < span > os.beep()< / span > < / a > < / h3 > < p > 发出蜂鸣声。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > beep< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-clear" tabindex = "-1" > < a class = "header-anchor" href = "#os-clear" > < span > os.clear()< / span > < / a > < / h3 > < p > 清屏。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > clear< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-getusername" tabindex = "-1" > < a class = "header-anchor" href = "#os-getusername" > < span > os.getusername()< / span > < / a > < / h3 > < p > 返回当前登录用户名。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > getusername< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-isadmin" tabindex = "-1" > < a class = "header-anchor" href = "#os-isadmin" > < span > os.isadmin()< / span > < / a > < / h3 > < p > 检查当前用户是否是管理员。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > if< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > isadmin< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > then< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " User is admin" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > else< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " User is not admin" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-sha256-input" tabindex = "-1" > < a class = "header-anchor" href = "#os-sha256-input" > < span > os.sha256(input)< / span > < / a > < / h3 > < p > 计算字符串的 SHA256 哈希值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > hash < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > sha256< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello World" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > hash< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-base64encrypt-input" tabindex = "-1" > < a class = "header-anchor" href = "#os-base64encrypt-input" > < span > os.base64encrypt(input)< / span > < / a > < / h3 > < p > 将字符串编码为 Base64。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > encoded < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > base64encrypt< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello World" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > encoded< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-base64decrypt-input" tabindex = "-1" > < a class = "header-anchor" href = "#os-base64decrypt-input" > < span > os.base64decrypt(input)< / span > < / a > < / h3 > < p > 将 Base64 字符串解码。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > decoded < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > base64decrypt< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " SGVsbG8gV29ybGxcmVvcmxvYg==" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > decoded< span class = "token punctuation" > )< / span > < / span >
2026-02-05 13:15:17 +08:00
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-timerstart" tabindex = "-1" > < a class = "header-anchor" href = "#os-timerstart" > < span > os.timerstart()< / span > < / a > < / h3 > < p > 启动计时器,记录当前时间。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > timerstart< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-timerstop" tabindex = "-1" > < a class = "header-anchor" href = "#os-timerstop" > < span > os.timerstop()< / span > < / a > < / h3 > < p > 停止计时器并返回从 timerstart 到 timerstop 之间的时间(秒)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > timerstart< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > for< / span > i < span class = "token operator" > =< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1000000< / span > < span class = "token keyword" > do< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > x < span class = "token operator" > =< / span > i < span class = "token operator" > *< / span > < span class = "token number" > 2< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > elapsed < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > timerstop< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Elapsed time:" < / span > < span class = "token punctuation" > ,< / span > elapsed< span class = "token punctuation" > ,< / span > < span class = "token string" > " seconds" < / span > < span class = "token punctuation" > )< / span > < / span >
2026-02-07 18:54:10 +08:00
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 注意< / strong > : < / p > < ul > < li > 如果在未调用 < code > timerstart< / code > 的情况下调用 < code > timerstop< / code > ,将返回 < code > nil< / code > < / li > < li > 每次调用 < code > timerstop< / code > 后,计时器会被重置< / li > < li > 返回的时间单位为秒(浮点数)< / li > < / ul > < h3 id = "os-tui-drawbox-x-y-width-height-title-bordercolor-backgroundcolor" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-drawbox-x-y-width-height-title-bordercolor-backgroundcolor" > < span > os.tui_drawbox(x, y, width, height, title, borderColor, backgroundColor)< / span > < / a > < / h3 > < p > 绘制带边框和标题的矩形框。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_drawbox< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 40< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " Title" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " white" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " darkblue" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 参数< / strong > : < / p > < ul > < li > < code > x< / code > - 矩形框的左上角 X 坐标< / li > < li > < code > y< / code > - 矩形框的左上角 Y 坐标< / li > < li > < code > width< / code > - 矩形框的宽度< / li > < li > < code > height< / code > - 矩形框的高度< / li > < li > < code > title< / code > - 矩形框的标题(可选)< / li > < li > < code > borderColor< / code > - 边框颜色( black, blue, cyan, darkblue, darkcyan, darkgray, darkgreen, darkmagenta, darkred, darkyellow, gray, green, magenta, red, white, yellow) < / li > < li > < code > backgroundColor< / code > - 背景颜色(同上)< / li > < / ul > < h3 id = "os-tui-drawtext-x-y-text-foregroundcolor-backgroundcolor" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-drawtext-x-y-text-foregroundcolor-backgroundcolor" > < span > os.tui_drawtext(x, y, text, foregroundColor, backgroundColor)< / span > < / a > < / h3 > < p > 在指定位置绘制文本。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_drawtext< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 15< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 8< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " Hello World!" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " yellow" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " black" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 参数< / strong > : < / p > < ul > < li > < code > x< / code > - 文本的 X 坐标< / li > < li > < code > y< / code > - 文本的 Y 坐标< / li > < li > < code > text< / code > - 要绘制的文本内容< / li > < li > < code > foregroundColor< / code > - 前景色(同上)< / li > < li > < code > backgroundColor< / code > - 背景色(同上)< / li > < / ul > < h3 id = "os-tui-setcolor-foregroundcolor-backgroundcolor" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-setcolor-foregroundcolor-backgroundcolor" > < span > os.tui_setcolor(foregroundColor, backgroundColor)< / span > < / a > < / h3 > < p > 设置前景色和背景色。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_setcolor< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " white" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " black" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 参数< / strong > : < / p > < ul > < li > < code > foregroundColor< / code > - 前景色( black, blue, cyan, darkblue, darkcyan, darkgray, darkgreen, darkmagenta, darkred, darkyellow, gray, green, magenta, red, white, yellow) < / li > < li > < code > backgroundColor< / code > - 背景色(同上)< / li > < / ul > < h3 id = "os-tui-setcursor-x-y" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-setcursor-x-y" > < span > os.tui_setcursor(x, y)< / span > < / a > < / h3 > < p > 设置光标位置。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_setcursor< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 20< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 参数< / strong > : < / p > < ul > < li > < code > x< / code > - 光标的 X 坐标< / li > < li > < code > y< / code > - 光标的 Y 坐标< / li > < / ul > < h3 id = "os-tui-clear" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-clear" > < span > os.tui_clear()< / span > < / a > < / h3 > < p > 清屏。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_clear< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "os-tui-drawline-x-y-length-character-color" tabindex = "-1" > < a class = "header-anchor" href = "#os-tui-drawline-x-y-length-character-color" > < span > os.tui_drawline(x, y, length, character, color)< / span > < / a > < / h3 > < p > 绘制水平线。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > tui_drawline< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 10< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 15< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 30< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " -" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " green" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < p > < strong > 参数< / strong > : < / p > < ul > < li > < code > x< / code > - 线的起始 X 坐标< / li > < li > < code > y< / code > - 线的起始 Y 坐标< / li > < li > < code > length< / code > - 线的长度< / li > < li > < code > character< / code > - 用于绘制线的字符< / li > < li > < code > color< / code > - 线的颜色(同上)< / li > < / ul > < hr > < h2 id = "输入输出库-io" tabindex = "-1" > < a class = "header-anchor" href = "#输入输出库-io" > < span > 输入输出库 (io)< / span > < / a > < / h2 > < h3 id = "io-close-file" tabindex = "-1" > < a class = "header-anchor" href = "#io-close-file" > < span > io.close(file)< / span > < / a > < / h3 > < p > 关闭文件。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > file < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > open< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " test.txt" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " w" < / span > < span class = "token punctuation" > )< / span > < / span >
2026-02-04 15:32:13 +08:00
< span class = "line" > file< span class = "token punctuation" > :< / span > < span class = "token function" > write< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > io< span class = "token punctuation" > .< / span > < span class = "token function" > close< / span > < span class = "token punctuation" > (< / span > file< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-flush" tabindex = "-1" > < a class = "header-anchor" href = "#io-flush" > < span > io.flush()< / span > < / a > < / h3 > < p > 刷新所有打开文件的输出缓冲区。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > io< span class = "token punctuation" > .< / span > < span class = "token function" > flush< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-input-file" tabindex = "-1" > < a class = "header-anchor" href = "#io-input-file" > < span > io.input([file])< / span > < / a > < / h3 > < p > 设置默认输入文件。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > io< span class = "token punctuation" > .< / span > < span class = "token function" > input< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " input.txt" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-lines-filename" tabindex = "-1" > < a class = "header-anchor" href = "#io-lines-filename" > < span > io.lines([filename])< / span > < / a > < / h3 > < p > 返回文件行的迭代器。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > for< / span > line < span class = "token keyword" > in< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > lines< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " test.txt" < / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > do< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > line< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-open-filename-mode" tabindex = "-1" > < a class = "header-anchor" href = "#io-open-filename-mode" > < span > io.open(filename [, mode])< / span > < / a > < / h3 > < p > 打开文件,返回文件句柄。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > file < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > open< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " test.txt" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " r" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > content < span class = "token operator" > =< / span > file< span class = "token punctuation" > :< / span > < span class = "token function" > read< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " *a" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > file< span class = "token punctuation" > :< / span > < span class = "token function" > close< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-output-file" tabindex = "-1" > < a class = "header-anchor" href = "#io-output-file" > < span > io.output([file])< / span > < / a > < / h3 > < p > 设置默认输出文件。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > io< span class = "token punctuation" > .< / span > < span class = "token function" > output< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " output.txt" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-popen-prog-mode" tabindex = "-1" > < a class = "header-anchor" href = "#io-popen-prog-mode" > < span > io.popen(prog [, mode])< / span > < / a > < / h3 > < p > 启动程序并返回文件句柄。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > file < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > popen< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " ls" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " r" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > output < span class = "token operator" > =< / span > file< span class = "token punctuation" > :< / span > < span class = "token function" > read< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " *a" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > file< span class = "token punctuation" > :< / span > < span class = "token function" > close< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-read" tabindex = "-1" > < a class = "header-anchor" href = "#io-read" > < span > io.read(...)< / span > < / a > < / h3 > < p > 从默认输入文件读取数据。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > input < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > read< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > input< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-tmpfile" tabindex = "-1" > < a class = "header-anchor" href = "#io-tmpfile" > < span > io.tmpfile()< / span > < / a > < / h3 > < p > 返回临时文件的句柄。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > file < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > tmpfile< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > file< span class = "token punctuation" > :< / span > < span class = "token function" > write< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " temp data" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > file< span class = "token punctuation" > :< / span > < span class = "token function" > close< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-type-file" tabindex = "-1" > < a class = "header-anchor" href = "#io-type-file" > < span > io.type(file)< / span > < / a > < / h3 > < p > 检查文件是否是打开的文件句柄。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > file < span class = "token operator" > =< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > open< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " test.txt" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " r" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > io< span class = "token punctuation" > .< / span > < span class = "token function" > type< / span > < span class = "token punctuation" > (< / span > file< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- file< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "io-write" tabindex = "-1" > < a class = "header-anchor" href = "#io-write" > < span > io.write(...)< / span > < / a > < / h3 > < p > 写入数据到默认输出文件。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > io< span class = "token punctuation" > .< / span > < span class = "token function" > write< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello, World!\n" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "协程库-coroutine" tabindex = "-1" > < a class = "header-anchor" href = "#协程库-coroutine" > < span > 协程库 (coroutine)< / span > < / a > < / h2 > < h3 id = "coroutine-create-f" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-create-f" > < span > coroutine.create(f)< / span > < / a > < / h3 > < p > 创建新的协程。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > co < span class = "token operator" > =< / span > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > create< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Coroutine started" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "coroutine-resume-co-val1" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-resume-co-val1" > < span > coroutine.resume(co [, val1, ...])< / span > < / a > < / h3 > < p > 继续或启动协程。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > resume< / span > < span class = "token punctuation" > (< / span > co< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "coroutine-running" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-running" > < span > coroutine.running()< / span > < / a > < / h3 > < p > 返回当前运行的协程。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > running< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "coroutine-status-co" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-status-co" > < span > coroutine.status(co)< / span > < / a > < / h3 > < p > 返回协程的状态。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > status< / span > < span class = "token punctuation" > (< / span > co< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- running, suspended, normal, dead< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "coroutine-wrap-f" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-wrap-f" > < span > coroutine.wrap(f)< / span > < / a > < / h3 > < p > 创建包装函数的函数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > co < span class = "token operator" > =< / span > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > create< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Coroutine" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > end< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > wrapped < span class = "token operator" > =< / span > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > wrap< / span > < span class = "token punctuation" > (< / span > co< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > wrapped< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "coroutine-yield" tabindex = "-1" > < a class = "header-anchor" href = "#coroutine-yield" > < span > coroutine.yield(...)< / span > < / a > < / h3 > < p > 挂起当前协程。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > coroutine< span class = "token punctuation" > .< / span > < span class = "token function" > yield< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "表库-table" tabindex = "-1" > < a class = "header-anchor" href = "#表库-table" > < span > 表库 (table)< / span > < / a > < / h2 > < h3 id = "table-concat-list-sep-i-j" tabindex = "-1" > < a class = "header-anchor" href = "#table-concat-list-sep-i-j" > < span > table.concat(list [, sep [, i [, j]])< / span > < / a > < / h3 > < p > 连接表中的元素。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token string" > " a" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " b" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " c" < / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > table< span class = "token punctuation" > .< / span > < span class = "token function" > concat< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > < span class = "token string" > " , " < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- a, b, c< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "table-insert-list-pos-value" tabindex = "-1" > < a class = "header-anchor" href = "#table-insert-list-pos-value" > < span > table.insert(list, [pos,] value)< / span > < / a > < / h3 > < p > 在表中插入元素。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > table< span class = "token punctuation" > .< / span > < span class = "token function" > insert< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "table-maxn-t" tabindex = "-1" > < a class = "header-anchor" href = "#table-maxn-t" > < span > table.maxn(t)< / span > < / a > < / h3 > < p > 返回表的最大数字索引(已弃用,使用 # 运算符)。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token keyword" > nil< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > table< span class = "token punctuation" > .< / span > < span class = "token function" > maxn< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 4< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "table-remove-list-pos" tabindex = "-1" > < a class = "header-anchor" href = "#table-remove-list-pos" > < span > table.remove(list [, pos])< / span > < / a > < / h3 > < p > 从表中删除元素。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > table< span class = "token punctuation" > .< / span > < span class = "token function" > remove< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "table-sort-list-comp" tabindex = "-1" > < a class = "header-anchor" href = "#table-sort-list-comp" > < span > table.sort(list [, comp])< / span > < / a > < / h3 > < p > 对表进行排序。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > table< span class = "token punctuation" > .< / span > < span class = "token function" > sort< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "调试库-debug" tabindex = "-1" > < a class = "header-anchor" href = "#调试库-debug" > < span > 调试库 (debug)< / span > < / a > < / h2 > < h3 id = "debug-debug" tabindex = "-1" > < a class = "header-anchor" href = "#debug-debug" > < span > debug.debug()< / span > < / a > < / h3 > < p > 进入调试模式。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > debug< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getfenv-object" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getfenv-object" > < span > debug.getfenv(object)< / span > < / a > < / h3 > < p > 返回对象的环境。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getfenv< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > x < span class = "token keyword" > end< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-gethook" tabindex = "-1" > < a class = "header-anchor" href = "#debug-gethook" > < span > debug.gethook()< / span > < / a > < / h3 > < p > 返回当前的钩子函数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > gethook< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getinfo-thread-f-what" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getinfo-thread-f-what" > < span > debug.getinfo([thread [, f [, what]])< / span > < / a > < / h3 > < p > 返回函数的信息。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getinfo< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getlocal-thread-f-loc" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getlocal-thread-f-loc" > < span > debug.getlocal([thread [, f [, loc]])< / span > < / a > < / h3 > < p > 返回函数的局部变量。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getlocal< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getmetatable-object" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getmetatable-object" > < span > debug.getmetatable(object)< / span > < / a > < / h3 > < p > 返回对象的元表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > t < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > mt < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > __add < span class = "token operator" > =< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > a< span class = "token punctuation" > ,< / span > b< span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > a < span class = "token operator" > +< / span > b < span class = "token keyword" > end< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token function" > setmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > mt< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > __add< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getregistry" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getregistry" > < span > debug.getregistry()< / span > < / a > < / h3 > < p > 返回注册表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getregistry< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-getupvalue-f-i" tabindex = "-1" > < a class = "header-anchor" href = "#debug-getupvalue-f-i" > < span > debug.getupvalue(f [, i])< / span > < / a > < / h3 > < p > 返回函数的上值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > getupvalue< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-setfenv-object-table" tabindex = "-1" > < a class = "header-anchor" href = "#debug-setfenv-object-table" > < span > debug.setfenv(object, table)< / span > < / a > < / h3 > < p > 设置对象的环境。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > setfenv< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > return< / span > x < span class = "token keyword" > end< / span > < span class = "token punctuation" > ,< / span > < span class = "token punctuation" > {< / span > < span class = "token punctuation" > }< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-sethook-hook-mask-count" tabindex = "-1" > < a class = "header-anchor" href = "#debug-sethook-hook-mask-count" > < span > debug.sethook(hook, mask [, count])< / span > < / a > < / h3 > < p > 设置钩子函数。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > sethook< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > function< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hook called" < / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > end< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " c" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-setlocal-thread-f-level-value" tabindex = "-1" > < a class = "header-anchor" href = "#debug-setlocal-thread-f-level-value" > < span > debug.setlocal([thread [, f,] level, value)< / span > < / a > < / h3 > < p > 设置函数的局部变量。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > setlocal< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-setmetatable-object-table" tabindex = "-1" > < a class = "header-anchor" href = "#debug-setmetatable-object-table" > < span > debug.setmetatable(object, table)< / span > < / a > < / h3 > < p > 设置对象的元表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > setmetatable< / span > < span class = "token punctuation" > (< / span > t< span class = "token punctuation" > ,< / span > mt< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-setupvalue-f-i-value" tabindex = "-1" > < a class = "header-anchor" href = "#debug-setupvalue-f-i-value" > < span > debug.setupvalue(f [, i,] value)< / span > < / a > < / h3 > < p > 设置函数的上值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > debug< span class = "token punctuation" > .< / span > < span class = "token function" > setupvalue< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " newvalue" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "debug-traceback-thread-message-level" tabindex = "-1" > < a class = "header-anchor" href = "#debug-traceback-thread-message-level" > < span > debug.traceback([thread [, message [, level]])< / span > < / a > < / h3 > < p > 返回调用栈的跟踪信息。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > debug< span class = "token punctuation" > .< / span > < span class = "token function" > traceback< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "位运算库-bit" tabindex = "-1" > < a class = "header-anchor" href = "#位运算库-bit" > < span > 位运算库 (bit)< / span > < / a > < / h2 > < h3 id = "bit-band-x1-x2" tabindex = "-1" > < a class = "header-anchor" href = "#bit-band-x1-x2" > < span > bit.band(x1, x2 [, ...])< / span > < / a > < / h3 > < p > 按位与操作。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > band< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0x0F< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-bnot-x" tabindex = "-1" > < a class = "header-anchor" href = "#bit-bnot-x" > < span > bit.bnot(x)< / span > < / a > < / h3 > < p > 按位非操作。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > bnot< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0xFFFFFFF0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-bor-x1-x2" tabindex = "-1" > < a class = "header-anchor" href = "#bit-bor-x1-x2" > < span > bit.bor(x1, x2 [, ...])< / span > < / a > < / h3 > < p > 按位或操作。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > bor< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0x0F< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-bxor-x1-x2" tabindex = "-1" > < a class = "header-anchor" href = "#bit-bxor-x1-x2" > < span > bit.bxor(x1, x2 [, ...])< / span > < / a > < / h3 > < p > 按位异或操作。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > bxor< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0x00< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-lshift-x-disp" tabindex = "-1" > < a class = "header-anchor" href = "#bit-lshift-x-disp" > < span > bit.lshift(x, disp)< / span > < / a > < / h3 > < p > 按位左移。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > lshift< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 4< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-rshift-x-disp" tabindex = "-1" > < a class = "header-anchor" href = "#bit-rshift-x-disp" > < span > bit.rshift(x, disp)< / span > < / a > < / h3 > < p > 按位右移。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > rshift< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-arshift-x-disp" tabindex = "-1" > < a class = "header-anchor" href = "#bit-arshift-x-disp" > < span > bit.arshift(x, disp)< / span > < / a > < / h3 > < p > 按位算术右移。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > arshift< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 1< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-rol-x-disp" tabindex = "-1" > < a class = "header-anchor" href = "#bit-rol-x-disp" > < span > bit.rol(x, disp)< / span > < / a > < / h3 > < p > 循环左移。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > rol< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0xF0< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-ror-x-disp" tabindex = "-1" > < a class = "header-anchor" href = "#bit-ror-x-disp" > < span > bit.ror(x, disp)< / span > < / a > < / h3 > < p > 循环右移。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > ror< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > ,< / span > < span class = "token number" > 4< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 0x0F< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "bit-tobit-x" tabindex = "-1" > < a class = "header-anchor" href = "#bit-tobit-x" > < span > bit.tobit(x)< / span > < / a > < / h3 > < p > 转换为位字符串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > bit< span class = "token punctuation" > .< / span > < span class = "token function" > tobit< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 0x0F< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token comment" > -- 00001111< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "编码库-enc" tabindex = "-1" > < a class = "header-anchor" href = "#编码库-enc" > < span > 编码库 (enc)< / span > < / a > < / h2 > < h3 id = "enc-base64encode-input" tabindex = "-1" > < a class = "header-anchor" href = "#enc-base64encode-input" > < span > enc.base64encode(input)< / span > < / a > < / h3 > < p > 将字符串编码为 Base64。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > encoded < span class = "token operator" > =< / span > enc< span class = "token punctuation" > .< / span > < span class = "token function" > base64encode< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello World" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > encoded< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "enc-base64decode-input" tabindex = "-1" > < a class = "header-anchor" href = "#enc-base64decode-input" > < span > enc.base64decode(input)< / span > < / a > < / h3 > < p > 将 Base64 字符串解码。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > decoded < span class = "token operator" > =< / span > enc< span class = "token punctuation" > .< / span > < span class = "token function" > base64decode< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " SGVsbG8gV29ybGxcmVvcmxvYg==" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > decoded< span class = "token punctuation" > )< / span > < / span >
2026-02-05 13:15:17 +08:00
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "json-库" tabindex = "-1" > < a class = "header-anchor" href = "#json-库" > < span > JSON 库< / span > < / a > < / h2 > < h3 id = "json-encode-table" tabindex = "-1" > < a class = "header-anchor" href = "#json-encode-table" > < span > json.encode(table)< / span > < / a > < / h3 > < p > 将 Lua 表编码为 JSON 字符串。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > data < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > name < span class = "token operator" > =< / span > < span class = "token string" > " John" < / span > < span class = "token punctuation" > ,< / span > age < span class = "token operator" > =< / span > < span class = "token number" > 30< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > jsonStr < span class = "token operator" > =< / span > json< span class = "token punctuation" > .< / span > < span class = "token function" > encode< / span > < span class = "token punctuation" > (< / span > data< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > jsonStr< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "json-decode-string" tabindex = "-1" > < a class = "header-anchor" href = "#json-decode-string" > < span > json.decode(string)< / span > < / a > < / h3 > < p > 将 JSON 字符串解码为 Lua 表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > jsonStr < span class = "token operator" > =< / span > < span class = "token string" > ' {" name" : " John" , " age" : 30}' < / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > data < span class = "token operator" > =< / span > json< span class = "token punctuation" > .< / span > < span class = "token function" > decode< / span > < span class = "token punctuation" > (< / span > jsonStr< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > data< span class = "token punctuation" > .< / span > name< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > data< span class = "token punctuation" > .< / span > age< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "json-null" tabindex = "-1" > < a class = "header-anchor" href = "#json-null" > < span > json.null()< / span > < / a > < / h3 > < p > 返回 null 值。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > nullValue < span class = "token operator" > =< / span > json< span class = "token punctuation" > .< / span > < span class = "token function" > null< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > nullValue< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "json-parse-string" tabindex = "-1" > < a class = "header-anchor" href = "#json-parse-string" > < span > json.parse(string)< / span > < / a > < / h3 > < p > 解析 JSON 字符串(同 decode) 。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > jsonStr < span class = "token operator" > =< / span > < span class = "token string" > ' {" name" : " John" , " age" : 30}' < / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > data < span class = "token operator" > =< / span > json< span class = "token punctuation" > .< / span > < span class = "token function" > parse< / span > < span class = "token punctuation" > (< / span > jsonStr< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > data< span class = "token punctuation" > .< / span > name< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "json-stringify-table" tabindex = "-1" > < a class = "header-anchor" href = "#json-stringify-table" > < span > json.stringify(table)< / span > < / a > < / h3 > < p > 将 Lua 表转换为 JSON 字符串(同 encode) 。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > data < span class = "token operator" > =< / span > < span class = "token punctuation" > {< / span > name < span class = "token operator" > =< / span > < span class = "token string" > " John" < / span > < span class = "token punctuation" > ,< / span > age < span class = "token operator" > =< / span > < span class = "token number" > 30< / span > < span class = "token punctuation" > }< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > jsonStr < span class = "token operator" > =< / span > json< span class = "token punctuation" > .< / span > < span class = "token function" > stringify< / span > < span class = "token punctuation" > (< / span > data< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > jsonStr< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "包库-package" tabindex = "-1" > < a class = "header-anchor" href = "#包库-package" > < span > 包库 (package)< / span > < / a > < / h2 > < h3 id = "package-loaded" tabindex = "-1" > < a class = "header-anchor" href = "#package-loaded" > < span > package.loaded< / span > < / a > < / h3 > < p > 已加载的包表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > package< span class = "token punctuation" > .< / span > loaded< span class = "token punctuation" > )< / span > < / span >
2026-02-04 15:32:13 +08:00
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "package-loaders" tabindex = "-1" > < a class = "header-anchor" href = "#package-loaders" > < span > package.loaders< / span > < / a > < / h3 > < p > 包加载器表。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > package< span class = "token punctuation" > .< / span > loaders< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "package-loadlib-libname-initfunc" tabindex = "-1" > < a class = "header-anchor" href = "#package-loadlib-libname-initfunc" > < span > package.loadlib(libname [, initfunc])< / span > < / a > < / h3 > < p > 加载 C 库。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > package< span class = "token punctuation" > .< / span > < span class = "token function" > loadlib< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " mylib" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "package-path" tabindex = "-1" > < a class = "header-anchor" href = "#package-path" > < span > package.path< / span > < / a > < / h3 > < p > 包搜索路径。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > package< span class = "token punctuation" > .< / span > path< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "package-searchpath-name-path-sep-rep" tabindex = "-1" > < a class = "header-anchor" href = "#package-searchpath-name-path-sep-rep" > < span > package.searchpath(name [, path [, sep [, rep]])< / span > < / a > < / h3 > < p > 搜索包路径。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > package< span class = "token punctuation" > .< / span > < span class = "token function" > searchpath< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " mylib" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "package-seeall-name" tabindex = "-1" > < a class = "header-anchor" href = "#package-seeall-name" > < span > package.seeall([name])< / span > < / a > < / h3 > < p > 列出所有已加载的包。< / p > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > package< span class = "token punctuation" > .< / span > < span class = "token function" > seeall< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < hr > < h2 id = "使用示例" tabindex = "-1" > < a class = "header-anchor" href = "#使用示例" > < span > 使用示例< / span > < / a > < / h2 > < h3 id = "交互式-lua-shell" tabindex = "-1" > < a class = "header-anchor" href = "#交互式-lua-shell" > < span > 交互式 Lua Shell< / span > < / a > < / h3 > < p > 使用 < code > lua --shell< / code > 进入交互模式:< / p > < div class = "language-text line-numbers-mode" data-highlighter = "prismjs" data-ext = "text" > < pre > < code > < span class = "line" > lua --shell< / span >
< span class = "line" > ====================================< / span >
< span class = "line" > Lua Interactive Shell< / span >
< span class = "line" > ====================================< / span >
< span class = "line" > Type ' exit' or ' quit' to exit< / span >
< span class = "line" > < / span >
< span class = "line" > lua> print(" Hello, World!" )< / span >
< span class = "line" > Hello, World!< / span >
< span class = "line" > < / span >
< span class = "line" > lua> os.gethostname()< / span >
< span class = "line" > myserver< / span >
< span class = "line" > < / span >
< span class = "line" > lua> os.sha256(" Hello" )< / span >
< span class = "line" > a591a6d40bf420404a011733cfb7b1d12e< / span >
< span class = "line" > < / span >
< span class = "line" > lua> exit< / span >
< span class = "line" > Exiting Lua shell...< / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "执行-lua-脚本文件" tabindex = "-1" > < a class = "header-anchor" href = "#执行-lua-脚本文件" > < span > 执行 Lua 脚本文件< / span > < / a > < / h3 > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > lua script< span class = "token punctuation" > .< / span > lua< / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "系统信息查询" tabindex = "-1" > < a class = "header-anchor" href = "#系统信息查询" > < span > 系统信息查询< / span > < / a > < / h3 > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hostname:" < / span > < span class = "token punctuation" > ,< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > gethostname< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Username:" < / span > < span class = "token punctuation" > ,< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > getusername< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Is Admin:" < / span > < span class = "token punctuation" > ,< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > isadmin< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " SHA256:" < / span > < span class = "token punctuation" > ,< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > sha256< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hello" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "环境变量操作" tabindex = "-1" > < a class = "header-anchor" href = "#环境变量操作" > < span > 环境变量操作< / span > < / a > < / h3 > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > setenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > ,< / span > < span class = "token string" > " value" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > getenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > os< span class = "token punctuation" > .< / span > < span class = "token function" > delenv< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " MYVAR" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h3 id = "加密和编码" tabindex = "-1" > < a class = "header-anchor" href = "#加密和编码" > < span > 加密和编码< / span > < / a > < / h3 > < div class = "language-lua line-numbers-mode" data-highlighter = "prismjs" data-ext = "lua" > < pre > < code > < span class = "line" > < span class = "token keyword" > local< / span > hash < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > sha256< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " password" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > encoded < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > base64encrypt< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " secret" < / span > < span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token keyword" > local< / span > decoded < span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > < span class = "token function" > base64decrypt< / span > < span class = "token punctuation" > (< / span > encoded< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Hash:" < / span > < span class = "token punctuation" > ,< / span > hash< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Encoded:" < / span > < span class = "token punctuation" > ,< / span > encoded< span class = "token punctuation" > )< / span > < / span >
< span class = "line" > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " Decoded:" < / span > < span class = "token punctuation" > ,< / span > decoded< span class = "token punctuation" > )< / span > < / span >
2026-02-08 19:05:16 +08:00
< span class = "line" > < / span > < / code > < / pre > < div class = "line-numbers" aria-hidden = "true" style = "counter-reset:line-number 0;" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h2 id = "注意事项" tabindex = "-1" > < a class = "header-anchor" href = "#注意事项" > < span > 注意事项< / span > < / a > < / h2 > < ol > < li > < strong > 交互模式< / strong > :使用 < code > lua --shell< / code > 进入交互式 Lua Shell< / li > < li > < strong > 错误处理< / strong > :所有 Lua 执行错误都会被捕获并显示< / li > < li > < strong > 系统函数< / strong > : < code > os< / code > 库包含 CMLeonOS 特定的系统函数< / li > < li > < strong > 加密支持< / strong > :支持 SHA256 和 Base64 编码/解码< / li > < li > < strong > 标准 Lua< / strong > :完全兼容 Lua 5.1 标准< / li > < / ol > < h2 id = "版本信息" tabindex = "-1" > < a class = "header-anchor" href = "#版本信息" > < span > 版本信息< / span > < / a > < / h2 > < ul > < li > < strong > Lua 版本< / strong > : 5.2< / li > < li > < strong > CMLeonOS 版本< / strong > :最新< / li > < / ul > < / div > <!-- [ --> <!-- ] --> < / div > < footer class = "vp-page-meta" > <!-- --> < div class = "vp-meta-item git-info" > < div class = "vp-meta-item last-updated" > < span class = "meta-item-label" > 最近更新:: < / span > < time class = "meta-item-info" datetime = "2026-02-07T10:54:10.000Z" data-allow-mismatch > 2026/2/7 18:54< / time > < / div > < div class = "vp-meta-item contributors" > < span class = "meta-item-label" > Contributors: < / span > < span class = "meta-item-info" > <!-- [ --> <!-- [ --> < span class = "contributor" title = "email: testmod@qq.com" > Leonmmcoset< / span > <!-- --> <!-- ] --> <!-- ] --> < / span > < / div > < / div > < / footer > <!-- --> <!-- [ --> <!-- ] --> < / main > <!-- ] --> < / div > <!-- [ --> <!-- --> <!-- ] --> <!-- ] --> < / div >
2026-02-10 01:51:31 +08:00
< script type = "module" src = "/assets/app-C1vKFkGc.js" defer > < / script >
2026-02-04 15:32:13 +08:00
< / body >
< / html >