lua语言总结

Lua 快速入门(五)——协程(thread) lua入门系列之协程(Thread) 阅读详情

lua视频教程:http://www.jikexueyuan.com/course/73_5.html?ss=1              |极客学院-Cocos2d-x基础知识-Lua脚本语言语法学习入门


1.单行注释--



2.多行注释--[[注释内容]]


3.ifelse
if 条件 then
...
elseif 条件 then
...
else
...
end


4.whiledo
while 条件 do
...
end


5.for
for i=1,10,1 do
...
end


6.语句块
语句块在C中是用"{"和"}"括起来的,在Lua中,它是用do 和 end 括起来的。比如:
do print("Hello") end可以在 函数 中和 语句块 中定局部变量。


7.变量
变量默认定义为全局
要用局部变量,请用local;


8.数值运算
+-*/
连接两个字符串,可以用".."运处符。如 "This a " .. "string." -- 等于 "this a string"


9.比较运算
~=表示不等于


10.逻辑运算
and, or, not
其中,and 和 or 与C语言区别特别大。 
在这里,请先记住,在Lua中,只有 false 和 nil 才计算为 false,其它任何数据都计算为 true,0 也是 true! 
and 和 or 的运算结果不是 true和false,而是和它的两个操作数相关。 
a and b: 如果a为false,则返回a;否则返回b 
a or b: 如果 a 为true,则返回a;否则返回b 
举几个例子:
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(4 or 5) --> 4
print(false or 5) --> 5


11.变量类型
怎么确定一个变量是什么类型的呢?大家可以用type()函数来检查。Lua支持的类型有以下几种:
Nil 空值
所有没有使用过的变量,都是nil。nil既是值,又是类型。


Boolean 布尔值
true 或 false


Number 数值
在Lua里,数值相当于C语言的double


String 字符串
如果你愿意的话,字符串是可以包含'\0'字符的


Table 关系表类型
这个类型功能比较强大,我们在后面慢慢说。


Function 函数类型
不要怀疑,函数也是一种类型,也就是说,所有的函数,它本身就是一个变量。


Userdata
嗯,这个类型专门用来和Lua的宿主打交道的。宿主通常是用C和C++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。


Thread 线程类型
在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。


12.变量的定义
所有的语言,都要用到变量。在Lua中,不管你在什么地方使用变量,都不需要声明,并且所有的这些变量总是全局变量,除非,你在前面加上"local"。 
这一点要特别注意,因为你可能想在函数里使用局部变量,却忘了用local来说明。 
至于变量名字,它是大小写相关的。也就是说,A和a是两个不同的变量。 
定义一个变量的方法就是赋值。"="操作就是用来赋值的 


13.字符串定义取消转移
[[里面的字符串没有转义相当于C#的@]]


14.数组Table
详见https://www.zybuluo.com/lisaisacat/note/636399#table


15.函数
详见:https://www.zybuluo.com/lisaisacat/note/636399#function

Lua中的线程和状态 线程(thread)作为Lua中一种基本的数据类型,它代表独立的执行线程(independent threads of execution),线程类型是实现协程(coroutines)的基础。本文将介绍Lua虚拟中的全局状态和线程的关系,以及从源码角度来看其数据结构。 阅读详情

相关推荐

Lua语言的多线程编程

协程是一种轻量级的用户态线程,允许函数在执行中断并在稍后重新恢复。与传统线程不同,协程是非抢占式的,它们通过显式的yield和resume来进行控制。这使得协程更加高效,并能够在处理大量并发任务时占用更少的资源。

2401_90032234的博客 1098

lua中的线程详解

文章转自:http://www.cnblogs.com/zrtqsk/p/4374360.html 我们首先介绍一下什么是协程、然后详细介绍一下coroutine库,然后介绍一下协程的简单用法,最后介绍一下协程的复杂用法。 一、协程是什么?   (1)线程   首先复习一下多线程。我们都知道线程——Thread。每一个线程都代表一个执行序列。   当我们在程序中创建多

gulan0的博客 1万+

Lua脚本语言——Lua脚本基础语法

1、LUA是一门脚本语言 ①、什么是脚本? 脚本语言又被称为扩建的语言,或者动态语言,是一种编程 语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在 被调用时进行解释或编译 ②、 脚本语言的执行 由于脚本语言是纯文本的,所以CPU无法直接执行脚本程序, 而是通过脚本解析器来执行脚本语言 ③、优缺点 优点:快速开发、容易部署、易学易用、动态代码 缺点:不够全面、效率不高、构建代码结构性不高 ④、常用的脚本语言 bash、python、JavaScript、Lua、PHP、ActionScr.

流楚丶格念的博客 3万+

LuaThread的实现

在Lua只支持协程,并不支持系统级的线程,于是便想自己实现一个。 用法如下: local thread=Thread.create() thread:start() thread:run("return arg..' world !'","hello",function(returnDat...

chuohuang2247的博客 1453

Lua语言的云计算

Lua是一种由巴西里约热内卢天主教大学开发的脚本语言,最早用于游戏开发。Lua的设计目标是简单、快速和可扩展,其语法类似于Python的简洁性,而其内存消耗则极其低廉。Lua不仅支持过程式编程,还支持数据描述、面向对象编程和函数式编程等多种编程范式,灵活性极强。轻量级:Lua的解释器非常小,适合作为嵌入式语言。高性能:Lua的运行速度较快,适合高并发场景。简单易学:Lua语法简单明了,新手容易上手。可扩展性:Lua可以通过C或C++等语言进行扩展,增加新的功能。

2501_90426024的博客 1506

lua-threadpool:更快、更简单、更强大的lua协程库

lua 线程池 更快、更简单、更强大的lua协程库 epoll Threadpool(依赖fend.epoll, luajit) 例子 local dispatcher = require " fend.epoll " local epoll = dispatcher () local threadpool = require ' threadpool_ext ' threadpool. init ({ logger = { warn = print, error = print, debug = print }, growing_thread_num = 10 , time_service = epoll, }) local env_seq = 2313141232 local thread_id pri

初识Lua语言

Lua语言从一开始就被设计为能与c/c++及其他常用语言开发的软件集成在一起使用的语言。Lua语言作为一门胶水语言,支持组件化的软件开发方式,通过整合已有的高级组件可以轻松构建新的应用。在软件中台化开发模型中,Lua势必会扮演十分重要的角色。 当然,Lua还有其他特性和优点, Lua的运用场合也有其他,这里就不再赘述,接下来进入正题。 1、Lua解析器 学习Lua语言还是从helloworld开始...

echo_bright_的博客 8355

vtk相机_分别用 VTK 体绘制和面绘制来实现医学图像三维重建;

序言,VTK介绍:VTK 全称为 The Visualization Toolkit (可视化工具),是一个开源、跨平台、自由获取、支持并行计算的图形应用函数;拥有3D 渲染的最新工具、提供3D交互模式以及2D绘图等。VTK 包含一个C++类库,目前提供了众多语言接口,例如 Java、Python、TCL;在三维函数库OpenGL 的基础上采用面向对象设计方法发展起来图形学基本概念和数据...

weixin_39665302的博客 687

【Lua语言】Lua语言快速入门

Lua是一种,他使用标准C语言编写并以源代码形式开放。这意味着Lua虚拟机可以很方便的嵌入别的程序中,从而为应用程序提供灵活的扩展和定制功能。同时,在目前脚本引擎中,。

加油,考上985的研究生 1447

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。

zwrlj527的专栏 1996

Lua语言

在黑马点评项目实战中,在提到确保分布式锁的获取锁和释放锁的时候提到了Redis的Lua脚本,本文来简单介绍一下Lua语言和简单语法。

2303_76837797的博客 1112

推理引擎终极对决:TensorRT vs ONNX Runtime,YOLOv8速度差30%的核心原因与实操指南

若你使用NVIDIA GPU,且追求极致速度和低延迟,TensorRT是唯一选择,尤其是边缘设备和实时场景;若你需要跨硬件部署、快速验证原型,或预算有限(无需NVIDIA GPU),ONNX Runtime是性价比之王;对于YOLOv8这类检测模型,TensorRT的FP16/INT8量化是“免费的速度提升”,建议优先采用。最后提醒:推理引擎的优化是“细节决定成败”——同样的引擎,不同的预处理方式、显存配置、批大小,都会导致10%-20%的性能差异。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1026

Lua脚本语言学习总结 入门、复习Lua语言看这一篇就够了

在Lua语言中,只会将false和nil视为假,其他的都视为真,特别是在条件检测中0和空字符串都会认为是真,这个和我们熟悉的大多数语言不太一样。如果对C/C++不太熟悉的同学来说,也没关系,因为天下语言是一家,基本上理解起来都不会太困难。函数被调用的时候,传入的参数个数与定义函数时使用的参数个数不一致的时候,Lua 语言会通过 抛弃多余参数和将不足的参数设为 nil 的方式来调整参数的个数。...

igg08的博客 8358

基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真

本文完成了基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真,实现了:✅ 构建了四轮独立驱动+主动悬架高保真整车模型✅ 实现了Skyhook主动悬架控制✅ 设计了驱动-悬架状态共享与协同决策机制✅ 验证了5 m/s高速下连续颠簸路面稳定通过能力✅ 为高性能移动机器人提供一体化底盘解决方案。

xiaoheshang_123的博客 189

把财务与管理会计装进一张表:读懂 S/4HANA 的 ACDOCA

别慌,这反而是设计所需。只是大量历史上为汇总、加速而建的索引与汇总表被淘汰或改造,很多被兼容视图 compatibility views 替代,通过视图去 ACDOCA 或 ACDOCT 取数,从而保证老代码还能 SELECT 到数据,但失去写权限。它把原来分散在多张表里的信息整合到一起,例如总账、固定资产、物料账、盈利能力分析 CO-PA、成本控制等维度,发布过的资料多次强调这一点。其二,查询必须带上高选择性的条件,尤其是 RLDNR、RBUKRS、GJAHR 这三个维度,能大幅降低列存扫描的代价。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 941

Lua语言入门

Lua 是一种高效的轻量级脚本语言。Lua 在葡萄牙语中是“月亮”的意思,它的徽标 形似卫星,寓意着Lua是一种“卫星语言”,能够方便地嵌入其他编程语言中使用。lua语法简单,小巧,源码一共才200多K,本身不会有太强的功能。 本文介绍了Lua语言基础,开发环境搭建,基础库,下载依赖库,本地构建Lua解释器,包管理LuaRocks

yunyun1886358的专栏 3992

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1772

Lua:01---Lua语言介绍、运行Lua程序(lua解释器)

一、Lua语言介绍 Lua语言从一开始就被设计为能与C/C++及其他常用语言开发的软件集成在一起使用的语言,这种设计带来了非常多的好处: 一方面, Lua语言不需要在性能、与三方软件交互等C语言已经非常完善的方面重复“造轮子”,可以直接依赖C语言实现上述特性,因而Lua语言非常精简 另一方面,通过引入安全的运行时环境、自动内存管理、良好的字符串 处理能力和可变长的多种数据类型, Lua 语言弥补了C语言在非面向硬件的高级抽象能力、 动态数据结构、鲁棒性、调试能力等方面的不足 Lua语言强大的

董哥的黑板报 1万+

构建AI Agent驱动的智能健康管理系统

数据碎片化:健康数据分散在不同的设备和平台中,难以统一管理和分析。个性化不足:健康管理方案通常是通用的,难以根据个人的健康状况实时调整。用户参与度低:用户难以获得及时、个性化的健康建议,导致健康管理效果不佳。AI Agent是一个能够感知环境、采取行动以实现目标的智能实体。根据智能体的智能水平,可以分为简单反应式智能体和复杂适应式智能体。实时监测健康数据。获取个性化的健康建议。收到健康风险预警。

AI天才研究院 749

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Lua脚本语言

Lua

YYYMarshal的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Lua和C语言交互入门

Lua本身的设计时就有为了可以方便的嵌入到别的语言中使用的功能,主要来说就是可以方便的嵌入到C语言中,并和C语言进行交互。这篇文章将对相关内容进行介绍。

Naisu的各种笔记 3321

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

lua脚本之lua语言简介以及lua的安装

作为一个游戏开发者,掌握至少一门脚本语言是一种必备的技能。Python、Ruby和Lua是目前最流行的几种脚本语言。相比之下,Python优点是具有比较多的支持库、工具、扩展模块,缺点是难以调试,难以跟其他语言整合;而Ruby优点是彻底的面向对象OOP语言,语法简单而易于掌握,不足之处是在游戏开发方面支持不够;作为本文要学习的目标语言---Lua是最快、占内存最少的,很容易跟其他语言整合,语法简单

eric 3042

C语言调用Lua脚本

最近由于公司技术需要,开始研究lua,刚开始看文档知道lua是一个脚本,用于拓展的,今天就研究了一下在c语言中的调用。 我是看到了一个文档,然后照着做的: http://www.cnblogs.com/pied/archive/2012/10/26/2741601.html 不过这个文档可能是时间久了,有的地方不是那么顺利,下面是我的每一步的操作。     首先介绍一下我的环境,我是在

ChamPly 6973
上一篇: tensorflow项目构建流程
下一篇: fiddler
「已注销」
博客等级 码龄14年 116粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值