首页 > 其他分享 >LUA入门

LUA入门

时间:2024-12-18 09:56:47浏览次数:4  
标签:luarocks 入门 yaml lua content LUA template local

LUA

lua 版本 (5.1+)

当前多数模块对lua的版本都是5.1以上,因此要注意版本。

luarocks

Luarocks 是一个用于 Lua 编程语言的包管理器。类似java中的maven,python中的pip。
luarocks 可从网址查看是否具有响应的包,网址:https://luarocks.org/

luarocks install lpeg 2.5

对于手动下载的模块源码,可以查找对应的 rockspec 文件,执行。
示例:

luarocks make lua-tinyyaml-1.0-0.rockspec

vscode加载lua

1.安装lua debug 插件

应用的vsCode环境中的项目settings.json填写以下内容:

{
    "lua.debug.settings.luaVersion": "lua51",
    "lua.debug.settings.cpath": "D:\\software\\LUA5.1\\lua\\?.dll;${workspaceFolder}/?.dll",
    "lua.debug.settings.path": "D:\\software\\LUA5.1\\lua\\?.lua;${workspaceFolder}/?.lua"
}

常用模块

tinny yaml

因tinnyyaml不依赖其它项也无so文件,如果下载不下来,可以手动从git上下载,将tinny-yaml.lua放入到lua5.1/lua下。

local yaml = require("tinyyaml")
local template = require("resty.template")

local file = io.open("./config/config.yaml", "r")
local content
if file then
    content = file:read("*a")
    file:close()
    -- 此时content变量中存储了YAML文件的全部内容
else
    print("无法打开配置文件")
    return
end
if content then
    local configData = yaml.parse(content)
    print(configData.waf.enabled)
end

resty template

local template = require("resty.template")


local sys_conf = {
    waf = "on"
}

local ngx_tpl = [[
waf = {* waf *};
{{waf}}
]]


local conf_render = template.compile(ngx_tpl)
local ngxconf = conf_render(sys_conf)
print(ngxconf)

标签:luarocks,入门,yaml,lua,content,LUA,template,local
From: https://www.cnblogs.com/DennyZhao/p/18613980

相关文章

  • 探索Node.js的奇妙世界:从零开始的入门之旅
    引言:在现代Web开发领域,Node.js已经成为了一颗耀眼的新星。它不仅改变了服务器端编程的游戏规则,还为开发者们提供了一种全新的方式来构建高效、可扩展的网络应用。无论你是前端开发者还是后端开发者,了解和掌握Node.js都将为你的开发生涯增添一份强大的技能。本文将带你踏上......
  • 鸿蒙基础入门01
    基础入门1.交叉轴对齐方式(Cross-axisAlignment)在Flex布局中,交叉轴是与主轴垂直的方向。可以使用align-items和align-self来调整子元素在交叉轴上的对齐方式。常见对齐方式:flex-start:子元素从交叉轴的起始位置对齐。flex-end:子元素从交叉轴的末尾对齐。center:......
  • HarmonyOS NEXT基础入门
    基础入门储存鸿蒙应用提供多种数据存储方式,包括:Preferences:轻量级数据存储,适用于简单键值对。SQLite:关系型数据库,适用于结构化数据存储。文件存储:通过文件系统直接存储数据。数组数组是一组有序的数据集合,可以通过索引访问每个元素。letnumbers=[1,2,3,4,5];con......
  • 这才是真正的大模型入门教程,大模型从入门到精通,看这一篇就够了
    一.初聊大模型1.为什么要学习大模型?在学习大模型之前,你不必担心自己缺乏相关知识或认为这太难。我坚信,只要你有学习的意愿并付出努力,你就能够掌握大模型,并能够用它们完成许多有意义的事情。在这个快速变化的时代,虽然新技术和概念不断涌现,但希望你能静下心来,踏实地学习。一......
  • SpringBoot入门
    SpringBoot入门注意:使用SpringBoot需提前了解Maven知识,并对Spring,SpringMVC,Mybatis,Mysql有一定了解。1、什么是SpringBoot?        SpringBoot是一款开源的框架,旨在简化Spring应用的创建与配置。SpringBoot根据依赖管理和自动化配置以及约定大于配置的理念,以及丰......
  • 大模型入门必读:12本书籍带你搞懂大模型【大模型书籍】
    敢不敢用一年时间读完这12本书,模型入门必看的12本书!建议收藏!!第一本:《基于GPT-3,ChatGPT,GPT-4等Transformer架构的自然语言处理》主要内容了解用于解决复杂语言问题的新技术。将GPT-3与T5、GPT-2和基于BERT的Transformer的结果进行对比使用TensorFlow、PyTorch和GPT-3......
  • 网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程
     前言1.入行网络安全这是一条坚持的道路,三分钟的热情可以放弃往下看了。2.多练多想,不要离开了教程什么都不会了,最好看完教程自己独立完成技术方面的开发。3.有时多百度,我们往往都遇不到好心的大神,谁会无聊天天给你做解答。4.遇到实在搞不懂的,可以先放放,以后再来解决。→【......
  • 成为一名厉害的黑客,必须知道的12个步骤,黑客入门
        黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。如果你想成为一名优秀的黑客,下面是10种最重要的基础条件,请认真阅读:1.了......
  • 【NPM】基础入门学习
    NPM基础1.NPM的起源NPM(NodePackageManager)是一个JavaScript包管理工具,最初是为Node.js生态系统设计的。它的目标是解决JavaScript开发中的依赖管理问题。通过NPM,开发者可以轻松地管理和共享JavaScript代码库、库和工具。起源简述:创建者:NPM由IsaacZ.S......
  • 最新版Kali虚拟机安装和汉化中文教程(非常详细),零基础入门到精通,看这一篇就够了
    一,Kali虚拟机简介Kali虚拟机是一款基于Debian的Linux发行版虚拟机操作系统,专为安全渗透测试和数字取证而设计。该虚拟机预装了许多渗透测试软件,包括Metasploit、BurpSuite、sqlmap、nmap以及CobaltStrike等,这些工具都是为了进行网络安全测试攻击而专门设计的。Kali虚拟......