Fengari–浏览器的Lua

2022-02-20 19:50:55

Fengari(希腊语中的Moon)是用JavaScript编写的Lua虚拟机。它使用JavaScript';s垃圾收集器,这样与DOM的互操作性就不会泄漏。

它附带了一个简单的模块,可以透明地呈现与JavaScript和DOM的任何交互:

本地js=require";js";本地窗口=js。全局本地文档=窗口。文档打印(";文档的标题:";.document.title)

试试看:▶ 本地js=require";js";本地窗口=js。全局本地文档=窗口。文档打印(";文档的标题:";.document.title)

本地js=require";js";本地窗口=js。全局局部函数(delay)local co=assert(coroutine.running(),";应该在协同程序中运行(#34;)窗口:setTimeout(函数()断言(coroutine.resume(co))结束,延迟*1000)coroutine。结束协同程序。包装(函数()打印和#34;现在要睡觉了" 睡眠(3)打印和#34;睡得好吗" (完)

试试看:▶ 本地js=require";js";本地窗口=js。全局局部函数sleep(delay)local co=assert(coroutine.running(),";应该在协同程序中运行(#34;)窗口:setTimeout(function()assert(coroutine.resume(co))end,delay*1000)coroutine。yield()结束本地打印=_G.打印协同程序。包装(函数()打印#34;现在要睡觉了" 睡眠(3)打印和#34;睡得好吗" (完)

在浏览器中使用Fengari最简单的方法是使用Fengari web。此模块将监视DOM中的任何<;脚本类型=";申请/lua和#34;src="">;和Fengari一起运行。

fengari interop:一个lua库,可以简化与JavaScript对象的互操作,它已经包含在fengari web中