mirror of
https://github.com/Leonmmcoset/CMLeonOS.git
synced 2026-03-03 15:30:27 +00:00
GUI测试+Lua增加计时器
This commit is contained in:
8
docs/cmleonos/docs/.vuepress/dist/404.html
vendored
8
docs/cmleonos/docs/.vuepress/dist/404.html
vendored
@@ -33,11 +33,11 @@
|
||||
</script>
|
||||
<title>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">
|
||||
<link rel="modulepreload" href="/assets/app-DPqZ-Olm.js"><link rel="modulepreload" href="/assets/404.html-quW2M2uK.js">
|
||||
<link rel="prefetch" href="/assets/get-started.html-CZESuujR.js" as="script"><link rel="prefetch" href="/assets/lua.html-CwfoAtde.js" as="script"><link rel="prefetch" href="/assets/index.html-C2W3YGc4.js" as="script">
|
||||
<link rel="modulepreload" href="/assets/app-Qcj6bGr7.js"><link rel="modulepreload" href="/assets/404.html-xtbd148X.js">
|
||||
<link rel="prefetch" href="/assets/get-started.html-CiROnutu.js" as="script"><link rel="prefetch" href="/assets/lua.html-BpPm4nZm.js" as="script"><link rel="prefetch" href="/assets/index.html-68ZyroCH.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><!--[--><div class="vp-theme-container" vp-container data-v-d32690b4><main class="page" data-v-d32690b4><div vp-content data-v-d32690b4><h1 data-v-d32690b4>404</h1><blockquote data-v-d32690b4>How did we get here?</blockquote><a class="route-link" href="/" data-v-d32690b4>Take me home</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
|
||||
<script type="module" src="/assets/app-DPqZ-Olm.js" defer></script>
|
||||
<div id="app"><!--[--><div class="vp-theme-container" vp-container data-v-d32690b4><main class="page" data-v-d32690b4><div vp-content data-v-d32690b4><h1 data-v-d32690b4>404</h1><blockquote data-v-d32690b4>Looks like we've got some broken links.</blockquote><a class="route-link" href="/" data-v-d32690b4>Take me home</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
|
||||
<script type="module" src="/assets/app-Qcj6bGr7.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as o,b as a,o as n}from"./app-DPqZ-Olm.js";const l={};function r(s,t){return n(),o("div",null,[...t[0]||(t[0]=[a("p",null,"404 Not Found",-1)])])}const _=e(l,[["render",r]]),d=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{_ as comp,d as data};
|
||||
import{_ as e,c as o,b as a,o as n}from"./app-Qcj6bGr7.js";const l={};function r(s,t){return n(),o("div",null,[...t[0]||(t[0]=[a("p",null,"404 Not Found",-1)])])}const _=e(l,[["render",r]]),d=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{_ as comp,d as data};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{_ as a,c as l,a as t,o as n}from"./app-DPqZ-Olm.js";const i={};function s(r,e){return n(),l("div",null,[...e[0]||(e[0]=[t('<h1 id="配置教程" tabindex="-1"><a class="header-anchor" href="#配置教程"><span>配置教程</span></a></h1><h2 id="准备工作" tabindex="-1"><a class="header-anchor" href="#准备工作"><span>准备工作</span></a></h2><p>首先,准备一台实体机/虚拟机,确保这台机器等于或大于以下配置:</p><ul><li>处理器:一核以上</li><li>内存:512MB以上</li><li>硬盘:512MB以上</li><li>一个键盘</li><li>一个蜂鸣器或音频输出设备</li><li>建议装上AMD驱动的网卡(Intel驱动的网卡似乎无法运行)</li></ul><h2 id="配置硬盘" tabindex="-1"><a class="header-anchor" href="#配置硬盘"><span>配置硬盘</span></a></h2><p>使用PE或其它工具格式化硬盘(注意只分一个区,文件系统选择FAT32)</p><h2 id="安装cmleonos" tabindex="-1"><a class="header-anchor" href="#安装cmleonos"><span>安装CMLeonOS</span></a></h2><p>将CMLeonOS的ISO文件挂载到虚拟机或实体机上,启动后按照提示进行 First time setup。</p><p>在 First time setup 中,系统会让你配置用户名、密码、主机名,配置完后会进行重启,重启之后正常登陆系统,然后就可以开始使用CMLeonOS了。</p>',9)])])}const c=a(i,[["render",s]]),h=JSON.parse('{"path":"/get-started.html","title":"配置教程","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"准备工作","slug":"准备工作","link":"#准备工作","children":[]},{"level":2,"title":"配置硬盘","slug":"配置硬盘","link":"#配置硬盘","children":[]},{"level":2,"title":"安装CMLeonOS","slug":"安装cmleonos","link":"#安装cmleonos","children":[]}],"git":{},"filePathRelative":"get-started.md"}');export{c as comp,h as data};
|
||||
import{_ as t,c as a,a as l,o as s}from"./app-Qcj6bGr7.js";const n={};function i(o,e){return s(),a("div",null,[...e[0]||(e[0]=[l('<h1 id="配置教程" tabindex="-1"><a class="header-anchor" href="#配置教程"><span>配置教程</span></a></h1><h2 id="准备工作" tabindex="-1"><a class="header-anchor" href="#准备工作"><span>准备工作</span></a></h2><p>首先,准备一台实体机/虚拟机,确保这台机器等于或大于以下配置:</p><ul><li>处理器:一核以上</li><li>内存:512MB以上</li><li>硬盘:512MB以上</li><li>一个键盘</li><li>一个蜂鸣器或音频输出设备</li><li>建议装上AMD驱动的网卡(Intel驱动的网卡似乎无法运行)</li></ul><h2 id="配置硬盘" tabindex="-1"><a class="header-anchor" href="#配置硬盘"><span>配置硬盘</span></a></h2><p>使用PE或其它工具格式化硬盘(注意只分一个区,文件系统选择FAT32)</p><h2 id="安装cmleonos" tabindex="-1"><a class="header-anchor" href="#安装cmleonos"><span>安装CMLeonOS</span></a></h2><p>将CMLeonOS的ISO文件挂载到虚拟机或实体机上,启动后按照提示进行 First time setup。</p><p>在 First time setup 中,系统会让你配置用户名、密码、主机名,配置完后会进行重启,重启之后正常登陆系统,然后就可以开始使用CMLeonOS了。</p>',9)])])}const r=t(n,[["render",i]]),m=JSON.parse('{"path":"/get-started.html","title":"配置教程","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"准备工作","slug":"准备工作","link":"#准备工作","children":[]},{"level":2,"title":"配置硬盘","slug":"配置硬盘","link":"#配置硬盘","children":[]},{"level":2,"title":"安装CMLeonOS","slug":"安装cmleonos","link":"#安装cmleonos","children":[]}],"git":{"updatedTime":1770190333000,"contributors":[{"name":"Leonmmcoset","username":"Leonmmcoset","email":"testmod@qq.com","commits":1,"url":"https://github.com/Leonmmcoset"}],"changelog":[{"hash":"33510365f48beba3a56b2dc6afd4c54b1fbdab60","time":1770190333000,"email":"testmod@qq.com","author":"Leonmmcoset","message":"docs&Lua input()"}]},"filePathRelative":"get-started.md"}');export{r as comp,m as data};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as a}from"./app-DPqZ-Olm.js";const i={};function l(n,o){return a(),e("div")}const r=t(i,[["render",l]]),c=JSON.parse('{"path":"/","title":"主页","lang":"zh-CN","frontmatter":{"home":true,"title":"主页","actions":[{"text":"开始配置","link":"/get-started.html","type":"primary"},{"text":"Lua 文档","link":"/lua.html","type":"secondary"}],"features":[{"title":"安全用户系统","details":"用户系统是直接绑定在内核下的,通过 SHA-256 密码哈希算法对用户密码进行加密存储,确保用户密码的安全性。"},{"title":"Lua 脚本支持","details":"CMLeonOS支持 Lua 脚本,用户可以通过 Lua 脚本实现自定义功能。"},{"title":"网络","details":"CMLeonOS支持 TCP/IP 协议栈,用户可以通过网络连接到其他设备。"},{"title":"FTP 服务器","details":"CMLeonOS支持 FTP 服务器,用户可以通过 FTP 协议上传下载文件。"},{"title":"内置编辑器","details":"CMLeonOS支持内置编辑器,用户可以直接在CMLeonOS中编辑文件。"},{"title":"硬盘存储","details":"CMLeonOS支持硬盘存储,用户可以将文件持久存储在硬盘中。"}]},"headers":[],"git":{},"filePathRelative":"README.md"}');export{r as comp,c as data};
|
||||
import{_ as e,c as t,o as a}from"./app-Qcj6bGr7.js";const o={};function s(m,i){return a(),t("div")}const c=e(o,[["render",s]]),l=JSON.parse('{"path":"/","title":"主页","lang":"zh-CN","frontmatter":{"home":true,"title":"主页","actions":[{"text":"开始配置","link":"/get-started.html","type":"primary"},{"text":"Lua 文档","link":"/lua.html","type":"secondary"}],"features":[{"title":"安全用户系统","details":"用户系统是直接绑定在内核下的,通过 SHA-256 密码哈希算法对用户密码进行加密存储,确保用户密码的安全性。"},{"title":"Lua 脚本支持","details":"CMLeonOS支持 Lua 脚本,用户可以通过 Lua 脚本实现自定义功能。"},{"title":"网络","details":"CMLeonOS支持 TCP/IP 协议栈,用户可以通过网络连接到其他设备。"},{"title":"FTP 服务器","details":"CMLeonOS支持 FTP 服务器,用户可以通过 FTP 协议上传下载文件。"},{"title":"内置编辑器","details":"CMLeonOS支持内置编辑器,用户可以直接在CMLeonOS中编辑文件。"},{"title":"硬盘存储","details":"CMLeonOS支持硬盘存储,用户可以将文件持久存储在硬盘中。"}]},"headers":[],"git":{"updatedTime":1770190333000,"contributors":[{"name":"Leonmmcoset","username":"Leonmmcoset","email":"testmod@qq.com","commits":1,"url":"https://github.com/Leonmmcoset"}],"changelog":[{"hash":"33510365f48beba3a56b2dc6afd4c54b1fbdab60","time":1770190333000,"email":"testmod@qq.com","author":"Leonmmcoset","message":"docs&Lua input()"}]},"filePathRelative":"README.md"}');export{c as comp,l as data};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
6
docs/cmleonos/docs/.vuepress/dist/index.html
vendored
6
docs/cmleonos/docs/.vuepress/dist/index.html
vendored
File diff suppressed because one or more lines are too long
34
docs/cmleonos/docs/.vuepress/dist/lua.html
vendored
34
docs/cmleonos/docs/.vuepress/dist/lua.html
vendored
@@ -33,8 +33,8 @@
|
||||
</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">
|
||||
<link rel="modulepreload" href="/assets/app-DPqZ-Olm.js"><link rel="modulepreload" href="/assets/lua.html-CwfoAtde.js">
|
||||
<link rel="prefetch" href="/assets/get-started.html-CZESuujR.js" as="script"><link rel="prefetch" href="/assets/index.html-C2W3YGc4.js" as="script"><link rel="prefetch" href="/assets/404.html-quW2M2uK.js" as="script">
|
||||
<link rel="modulepreload" href="/assets/app-Qcj6bGr7.js"><link rel="modulepreload" href="/assets/lua.html-BpPm4nZm.js">
|
||||
<link rel="prefetch" href="/assets/get-started.html-CiROnutu.js" as="script"><link rel="prefetch" href="/assets/index.html-68ZyroCH.js" as="script"><link rel="prefetch" href="/assets/404.html-xtbd148X.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<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><!--]--></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><!--]--></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>CMLeonOS Lua API 文档</span></a></h1><p>本文档记录了 CMLeonOS 中 Lua 支持的所有函数和库。</p><h2 id="基础库-base" tabindex="-1"><a class="header-anchor" href="#基础库-base"><span>基础库 (base)</span></a></h2><h3 id="assert-v-message" tabindex="-1"><a class="header-anchor" href="#assert-v-message"><span>assert(v [, message])</span></a></h3><p>如果 v 为 false 或 nil,则抛出错误。可选参数 message 为错误信息。</p><div class="language-lua line-numbers-mode" data-highlighter="prismjs" data-ext="lua"><pre><code><span class="line"><span class="token function">assert</span><span class="token punctuation">(</span><span class="token keyword">true</span><span class="token punctuation">,</span> <span class="token string">"This should be true"</span><span class="token punctuation">)</span></span>
|
||||
@@ -198,7 +198,14 @@
|
||||
<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>
|
||||
<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="输入输出库-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>
|
||||
<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>
|
||||
<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><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>
|
||||
<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>
|
||||
@@ -274,7 +281,22 @@
|
||||
<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>
|
||||
<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="包库-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>
|
||||
<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>
|
||||
<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>
|
||||
@@ -311,7 +333,7 @@
|
||||
<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>
|
||||
<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></footer><!----><!--[--><!--]--></main><!--]--></div><!--[--><!----><!--]--><!--]--></div>
|
||||
<script type="module" src="/assets/app-DPqZ-Olm.js" defer></script>
|
||||
<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-04T09:15:18.000Z" data-allow-mismatch>2026/2/4 17:15</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>
|
||||
<script type="module" src="/assets/app-Qcj6bGr7.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -697,6 +697,30 @@ local decoded = os.base64decrypt("SGVsbG8gV29ybGxcmVvcmxvYg==")
|
||||
print(decoded)
|
||||
```
|
||||
|
||||
### os.timerstart()
|
||||
启动计时器,记录当前时间。
|
||||
|
||||
```lua
|
||||
os.timerstart()
|
||||
```
|
||||
|
||||
### os.timerstop()
|
||||
停止计时器并返回从 timerstart 到 timerstop 之间的时间(秒)。
|
||||
|
||||
```lua
|
||||
os.timerstart()
|
||||
for i = 1, 1000000 do
|
||||
local x = i * 2
|
||||
end
|
||||
local elapsed = os.timerstop()
|
||||
print("Elapsed time:", elapsed, "seconds")
|
||||
```
|
||||
|
||||
**注意**:
|
||||
- 如果在未调用 `timerstart` 的情况下调用 `timerstop`,将返回 `nil`
|
||||
- 每次调用 `timerstop` 后,计时器会被重置
|
||||
- 返回的时间单位为秒(浮点数)
|
||||
|
||||
---
|
||||
|
||||
## 输入输出库 (io)
|
||||
|
||||
Reference in New Issue
Block a user