lua脚本学习笔记

nginx-lua-extras:用于NGINX Extras存储库的Lua模块软件包 nginx-lua-extras 对于RHEL 8,每个库都构建了两个软件包版本。 5.1(OpenResty版本)和默认的5.3 Lua版本。 RHEL 8中的lua5.1-libname符合。 立即下载

       Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

      运行   

首先,我们需要知道,Lua是类C的,所以,他是大小写字符敏感的。

下面是Lua的Hello World。注意:Lua脚本的语句的分号是可选的,这个和shell脚本很类似

print("Hello World")

#1 你可以像python一样,在命令行上运行lua命令后进入lua的shell中执行语句。

root@x.x.x.x:/home/jeffzhuang/lua# lua

Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio

> print("Hello, World")

Hello, World

>  

#2 也可以把脚本存成一个文件,用如下命令行来运行。

>lua  file.lua

#3 或是像shell一样运行

root@x.x.x.x:/home/jeffzhuang/lua# cat hello.lua 

#!/usr/bin/lua

print("hello,world")

root@x.x.x.x:/home/jeffzhuang/lua# chmod +x hello.lua 

root@x.x.x.x:/home/jeffzhuang/lua# ./hello.lua 

hello,world

root@x.x.x.x:/home/jeffzhuang/lua# 

语法

注释  

-- 两个减号是行注释

--[[ 这是块注释-- ]]


变量

   Lua的数字只有double型,64bits,你不必担心Lua处理浮点数会慢(除非大于100,000,000,000,000),或是会有精度问题。你可以以如下的方式表示数字,0x开头的16进制和C是很像的。

<span style="font-family:Microsoft YaHei;">um = 1024
num = 3.0
num = 3.1416
num = 314.16e-2
num = 0.31416E1
num = 0xff
num = 0x56</span>

        字符串你可以用单引号,也可以用双引号,还支持C类型的转义,比如: ‘\a’ (响铃), ‘\b’ (格), ‘\f’ (表单), ‘\n’ (换行), ‘\r’ (回车), ‘\t’ (横向制表), ‘\v’ (纵向制表), ‘\\’ (反斜杠), ‘\”‘ (双引号), 以及 ‘\” (单引号)下面的四种方式定义了完全相同的字符串(其中的两个中括号可以用于定义有换行的字符串)

<span style="font-family:Microsoft YaHei;">a = 'alo\n123"'
a = "alo\n123\""
a = '\97lo\10\04923"'
a = [[alo
123"]]</span>
       变量没有预定义的类型,任何变量都可以包含任何类型的值
<span style="font-family:Microsoft YaHei;">Print(tyoe(a)) -->nill
a=10
Print(type(a)) -->number
a=”a string”
Print((a)) -->string</span>
          lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里。变量前加local关键字的是局部变量。

<span style="font-family:Microsoft YaHei;">theGlobalVar = 50
local theLocalVar = "local variable"</span>
字符串

         lua的字符串是不可变的值,不能像在c语言中那样直接修改字符串的某个字符,而是根据修改要求来创建一个新的字符串

         a=“one string”

        b=string.gsub(a,”one”,”another”    


        字符串可以用一对匹配的单引号或者双引号

        另外可一用一对匹配的双方括号来界定一个字母字符串,就像写“块注释”那样。以这种形式书写的字符串可以延伸多 行,lua不会解释其中的转移序列。这种写法对于书写那还总含有程序的字符串尤为有       

<span style="font-family:Microsoft YaHei;">page=[[
<html>
<head>
<title>an html page</title>
<body>
<a herf="http://www.lua.org">lua</a>
</body>
</head>
</html>
]]
print(page)</span></span>

             或者[===[中间包含任意个等号作为分割符号

            在lua中,”..”是字符连接操作符。当直接在一个数字后面输入他的时候,必须要用一个空格来分割他们。不然,lua会将第一个点理解为一个小数点

          可以在字符串前面放置操作符“#”来获得该字符串的长度









lua基础笔记 学习笔记,lua学习基础笔记,小知识点,下载嘘谨慎,没有想象中完美 立即下载

相关推荐

JS逆向-快手__NS_hxfalcon参数分析

现在快手H5接口都需要__NS_hxfalcon这个参数,这篇文章就是逆向这个参数

ckcookies的博客 4076

教你如何用 Lua 操作文件中的数据

了解 Lua 如何处理数据的读写。 有些数据是临时的,存储在 RAM 中,只有在应用运行时才有意义。但有些数据是要持久的,存储在硬盘上供以后使用。当你编程时,无论是简单的脚本还是复杂的工具套件,通常都需要读取和写入文件。有时文件可能包含配置选项,而另一些时候这个文件是你的用户用你的应用创建的数据。每种语言都会以不同的方式处理这项任务,本文将演示如何使用 Lua 处理文件数据。 安装 Lua 如果你使用的是Linux,你可以从你的发行版软件库中安装 Lua。在 macOS 上,你可以从 MacPor.

Free雅轩的博客 2825

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循“问答”范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的“发人深省”的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。

weixin_43961909的博客 2884

Lua脚本教程

Lua脚本教程一、数据类型1、常量、变量2、变量名:字母、数字、下划线(不能以数字开头)3、几种数据类型二、运算符三、初识函数 一、数据类型 1、常量、变量 a=10 a=2.5 a=“abcd” 左边是变量、右边是常量 lua中注释符是 – 2、变量名:字母、数字、下划线(不能以数字开头) 内置关键字: and break do else elseif if or end in false ture function not local while repeat nil then r

qq_40506747的博客 4万+

ZYNQ裸机LWIP双网口实现

文章目录前言一、LWIP双网口二、使用步骤1.部分说明2.部分代码总结 前言 一、LWIP双网口 由于项目需要多通讯口,查阅资料发现lwip支持多网口操作。于是,就开搞了。 二、使用步骤 1.部分说明 利用xemac_add函数在网卡链表中添加一个网卡,即使用netif块重复xemac_add操作。 先用轮询的方式实现双网口,后期修改为中断模式 2.部分代码 导入官方例程LWip echo server, 修改main函数,增加一个netif块 #if LWIP_IPV6==0 #if L..

weixin_35865280的博客 1万+

别再只当代码阅读器了!手把手教你用Understand的实体定位器和信息浏览器,5分钟精准定位代码逻辑

本文深入解析Understand代码分析工具的高级功能,重点介绍实体定位器和信息浏览器的实战应用。通过5分钟快速定位代码逻辑的技巧,帮助开发者从代码阅读者升级为逻辑侦探,提升大型代码库的分析效率。文章包含过滤搜索、调用链追踪等实用方法,是掌握Understand核心功能的必备指南。

weixin_28745821的博客 292

lua 常用数据类型总结

lua 常用数据类型总结

congge_study的博客 1万+

Shell数学计算(算术运算,加减乘除运算)

声明: 本篇博客的学习途径主要为以下网站和课堂讲解,发博客目的仅为学习使用,在该博客的基础上做了一定程序的简略和修改。 参考博客 : 原文链接:http://c.biancheng.net/shell/ Shell数学计算Shell数学计算数学计算命令对整数进行数学运算: (()) / let / $[] /exprShell (())Shell let命令bc命令:一款数学计算器在 Shell 中使用 bc 计算器 Shell数学计算 默认情况下,Shell 不会直接进行算术运算,而是把+两边的数据(数

AKUANer的博客 2万+

Lua脚本学习

Lua的基本知识学习

qq_49721447的博客 2120

扰动观察法MPPT控制器simulink仿真

最大功率点跟踪(MPPT)控制器对于光伏(PV)系统至关重要,因为它可以确保系统在所有操作条件下都能从光伏阵列中提取最大功率。扰动观察法(P&O)是一种广泛使用的MPPT算法,因为它简单且易于实现。本文介绍了P&O MPPT控制器的Simulink仿真,并分析了其性能。

qq_59747472的博客 318

《Zephyr OS 入门与实战》第5章:内存管理策略

【代码】《Zephyr OS 入门与实战》第5章:内存管理策略。

2301_79143213的博客 349

【Lua】脚本入门

Lua是一种轻量级、可扩展的编程语言,设计用于嵌入应用程序中,为它们提供灵活的扩展功能。Lua的语法简单、清晰,易于学习,并且它支持多种编程范式,包括过程式、函数式、面向对象和元编程。Lua常用于游戏开发、Web应用、脚本扩展、科学计算等领域。

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 7737

HTML满屏跳动的爱心(完整代码)

HTML语言实现满屏跳动爱心的完整代码。

AIGC 12万+

脚本语言Lua简单入门学习笔记

lua入门学习    非等于  ~= 连接号  .. and  or not   只有 false和nil为假其余为真 a and b -- 如果 a 为 false,则返回 a,否则返回 b a or b -- 如果 a 为 true,则返回 a,否则返回 b 表 table {} 最简单  days = {"Sunday", "Monday", "T

筑梦者 1507

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Redis学习笔记 - Lua脚本(2) - Lua脚本的实现

参考:<<Redis设计与实现>> 注:这本书是基于Redis3.0版本写的,和后面的版本有点差异 Redis中Lua脚本相关命令介绍以及简单使用,参考博客:https://blog.youkuaiyun.com/mytt_10566/article/details/99715998 一、创建并修改Lua环境 为了在Redis服务器创建Lua脚本,Redis在服务器内嵌了一个Lu...

mytt_10566的博客 5230

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

REDIS学习笔记(四):lua编写redis脚本

redis

teng_liang的博客 914

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent

android 调用Lua, Lua脚本启动Intent android 中的调用 try { mLuaState.LdoString(readStream(getResources().openRawResource( R.raw.testLua))); // 找到functionInLuaFile函数 mLuaState.getField(Lu

韩鹏程的专栏 4057

【Lua】学习笔记-lua脚本

一、数据类型 只有一种数据类型:number 双精度浮点数 string可以用单引号双引号或者[[]]表示; 字符串连接使用的是 .. 使用 # 来计算字符串的长度 Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。 table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。也...

pointer_y的博客 427

Lua脚本学习笔记

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33815613的博客 89

Redis学习笔记 - Lua脚本(1) - 使用Lua脚本

参考: http://www.redis.cn/commands/eval.html https://www.runoob.com/redis/redis-scripting.html Redis从2.6.0版本开始支持Lua脚本,通过在服务器嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务器端原子地执行多个Redis命令。 1.使用Lua脚本的好处: 减少网络开销:可以将多个...

mytt_10566的博客 1336

DELPHI中集成LUA脚本学习笔记1_初探LUA

<br />序:记得在刚开始学编程的时候,知道了一个字符串并不是一定要在程序中固定死的,而是可以用TEdit.Text来连接的,于是有了一个想法,把一整段代码(几个函数)放在Memo中,想在程序运行的时候通过修改Memo中的内容而让程序能灵活使用.可惜后来失败了.大家看到这一定会笑的半死.的确这是一个很幼稚的想法.后来知道用脚本可以实现程序的灵活运行,可惜一直没有时间研究,这几天刚好要用到脚本,所以研究了一下午,顺便写一点心得.<br />Python,LUA等都不错,我选择了LUA原因是连接库比较小,扩展

靠别人不如靠自已。 1642

lua脚本语言学习笔记

lua中的变量定义不像java要声明类型,只需要写:变量名=变量值;在这一点上,lua和python是一样的。全局变量:lua中的变量默认是全局的,比如print(str);局部变量:使用local关键字修饰的变量,比如end;print(a);这个时候a是访问不到的,相当于未定义的变量,而我们lua是允许访问未定义的变量的,只是值为nil,类似java的null。其他4种数据类型很简单,主要是介绍一下table,这个类似数组,又类似对象的数据类型。

沐雨橙风ιε的博客 2058

Lua脚本语言学习笔记

什么是脚本语言? 1.一种解释运行而非编译的计算机语言。 2.以文本的形式保存,在被调用时进行解释或编译。 为什么要使用LUA脚本语言? 1.提高工作效率。项目规模扩大,编译源代码所需时间变长。为了不因为一些小的改动(改变几个常量的值),就去编译整个项目,所以使用脚本语言。 2.提高创造性。使用lua脚本,不仅可以帮你初始化变量,还可以帮你创建游戏逻辑甚至是游戏对象。 3.增加扩展

仰望圣光的plusplus7 3360

lua学习笔记 2 android调用Lua。Lua脚本中实现添加Button,并为Button增加Listener

lua学习笔记: 2 android调用Lua。Lua脚本中实现添加Button,并为Button增加Listener android 中的调用 try { mLuaState.LdoString(readStream(getResources().openRawResource( R.raw.test))); // 找到functionInLuaF

韩鹏程的专栏 6185
上一篇: mysql字符乱码详解
下一篇: 分享一个双目测距的项目
ExtraMan
博客等级 码龄14年 9粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值