Nodejs 第五十章(lua的基本使用)

news/2024/7/27 11:53:20/文章来源:https://blog.csdn.net/qq1195566313/article/details/136492245

image.png

lua基本使用

全局变量局部变量

  • 全局变量是在全局作用域中定义的变量,可以在脚本的任何地方访问。
  • 全局变量在定义时不需要使用关键字,直接赋值即可。
xiaoman = 'xmzs'print(xiaoman)
  • 局部变量是在特定作用域内定义的变量,只能在其所属的作用域内部访问。
  • 局部变量的作用域通常是函数体内部,也可以在代码块(使用 do...end)中创建局部变量。
  • 在局部作用域中,可以通过简单的赋值语句定义局部变量。
--local 定义局部变量
local xiaoman = 'xmzs'print(xiaoman)

条件语句

在Lua中,条件判断语句可以使用 ifelseif 和 else 关键字来实现

local xiaoman = 'xmzs'if xiaoman == "xmzs" thenprint("xiaoman")
elseif xiaoman == "xmzs1" thenprint("xiaoman1")
elseprint("not xiaoman")
end

函数

在Lua中,函数是一种可重复使用的代码块,用于执行特定的任务或操作

local xiaoman = 'xmzs'function func(name)if name == "xmzs" thenprint("xiaoman")return 1elseif name == "xmzs1" thenprint("xiaoman1")return 2elseprint("not xiaoman")return 3end
endlocal result = func(xiaoman)
print(result)

数据类型

  1. nil表示无效值或缺失值
  2. boolean表示布尔值,可以是 true 或 false
  3. number表示数字,包括整数和浮点数
  4. string表示字符串,由字符序列组成
  5. table表示表,一种关联数组,用于存储和组织数据
  6. function表示函数,用于封装可执行的代码块
  7. userdata:表示用户自定义数据类型,通常与C语言库交互使用。
  8. thread:表示协程,用于实现多线程编程。
  9. metatable:表示元表,用于定义表的行为。

常用数据类型用法

type = false --布尔值
type = nil --就是null
type = 1 --整数
type = 1.1 --浮点型
type = 'xmzs' --字符串
print(type)

字符串拼接 ..

local s = 'xm'
local m = 'zs'
print(s .. m)

table 可以描述 对象和数组

lua索引从1开始

--对象
table = {name = "xiaoman",age = 18
}
print(table.name)
print(table.age)
--数组
arr = {1,2,3,4,6}
print(arr[1])

循环

for i = 1, 10, 3 do --开始 结束 步长  步长就是递增数量print(i)
end

循环table

arr = {name = "hello", age = 18, sex = "male"}
for k, v in pairs(arr) doprint(k, v)  --key 和 value 也就是 name 和 hello ...
end

循环数组

local arr = {10,20,30}for i, v in ipairs(arr) doprint(i,v)
end

模块化

test.lua 暴露一个方法add

local M = {}function M.add(a, b)return a + b
endreturn M

index.lua 引入该文件调用add方法

local math = require('test')local r = math.add(1, 2)print(r)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_996220.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UVa11595 Crossing Streets EXTREME

题目链接 UVa11595 - Crossing Streets EXTREME 题意 平面上有 n(n≤35)条直线,各代表一条街道。街道相互交叉,形成一些路段(对应于几何上的线段)。你的任务是设计一条从A到B的路线,使得穿过路…

VS code下载与使用方法(包含远程调试)

Visual Studio Code(简称 VSCode)是由微软开发的一款免费、开源、跨平台的现代化轻量级代码编辑器。它具有丰富的功能和强大的扩展性,适用于多种编程语言和开发环境。以下是 VSCode 的一些主要特点和功能: 跨平台支持: 可在 Windows、macOS 和 Linux 等多种操作系…

解决MySQL 5.7在Redhat 9中启动报错:libncurses.so.5和libtinfo.so.5缺失问题

在使用Linux系统搭建MySQL数据库的过程中,我们往往会遇到各种依赖库的问题,尤其是在安装较旧版本的MySQL时。最近,在RedHat 9(rocky linux 9)系统上安装MySQL 5.7版本时,我遇到了一个典型的依赖库缺失错误&…

[项目设计] 从零实现的高并发内存池(四)

🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[高并发内存池] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 ​ 目录 6.内存回收 6.1 ThreadCache回收内存 6.2 CentralCache回收内存 Rele…

CVE-2024-25600 WordPress Bricks Builder RCE-漏洞分析研究

本次代码审计项目为PHP语言,我将继续以漏洞挖掘者的视角来分析漏洞的产生,调用与利用..... 前方高能,小伙伴们要真正仔细看咯..... 漏洞简介 CVE-2024-25600 是一个严重的(CVSS 评分 9.8)远程代码执行 (RCE) 漏洞&am…

AXI4总线解析

一、读地址 AWVALID和AWREADY同时为高时,在这个上升沿,图中黄线,将接下来的数据写入地址40000000中。 在

FPGA 的 DSP:Verilog 中的简单 FIR 滤波器

本项目介绍如何用 Verilog 实现一个带有预生成系数的简单 FIR 滤波器。 Things used in this project 、 Story 简陋的 FIR 滤波器是 FPGA 数字信号处理中最基本的构建模块之一,因此了解如何利用给定的抽头数和相应的系数值组装一个基本模块非常重要。因此&#xf…

CCF-A推荐会议 安全界顶会ACM CCS‘24 4月29日第二轮投稿!共建更安全的数字世界!

会议之眼 快讯 第31届ACM CCS (ACM Conference on Computer and Communications Security)即计算机和通信安全会议将于 2024 年 10月14日-18日在美国盐湖城举行!CCS是美国计算机协会(ACM)安全、审计与控制特别兴趣小组(SIGSAC)主办的一年一度的重要会议。是SIGSAC的…

java在cmd中乱码的问题解决

本文深入探讨了在使用 Java 命令行(cmd)时可能出现的中文乱码问题,并提供了两种解决方案。首先,通过临时的方式,用户可以执行命令 chcp 936 选择字符集,然后再运行 Java 命令,确保在选择字符集过…

Kakarot:当今以太坊的未来

1. 引言 前序博客: Kakarot:部署在Starknet上的ZK-EVM type 3 随着 Kakarot zkEVM 即将发布测试网,想重申下 Kakarot zkEVM 的愿景为: 为什么在rollup空间中还需要另一个 zkEVM? 开源代码见: https:/…

现代分布式系统架构的权衡分析

介绍 现代软件系统,特别是遵循分布式架构的系统,以其复杂性和可变性而闻名。这些系统由许多元素组成,每个元素都引入潜在的权衡,可能影响成本、性能、可伸缩性和可靠性等因素。对于导航软件现代化和转型领域的IT架构师、业务分析师…

MyBatis3源码深度解析(四)Statement

文章目录 前言2.4 Statement2.4.1 java.sql.Statement2.4.1.1 创建Statement对象2.4.1.2 执行查询SQL语句2.4.1.3 执行更新SQL语句2.4.1.4 执行不确定类型的SQL语句2.4.1.5 批量执行SQL语句 2.4.2 java.sql.PreparedStatement2.4.2.1 创建PreparedStatement对象2.4.2.2 占位符的…

centos7中python3.10找不到openssl解决方案

如果有用其他方法安装了其他版本openssl,记得卸载其他的openssl,删除其他的openssl相关文件。 yum remove openssl* rm -rf ***下载最新版的openssl文件 按照官网安装方法安装openssl 官方安装地址https://docs.python.org/3/using/unix.html#on-linu…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RotationGesture)

用于触发旋转手势事件,触发旋转手势的最少手指为2指,最大为5指,最小改变度数为1度。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 接口 RotationGesture(value?: …

SQL Server基础指令(创建与检索)

数据库demo 数据库RUNOOB 表Websites 元素: 创建 创建数据库 create database xxx Create database school 创建数据表 create table xxx create table student 数据表插入记录 insert into 第一种形式无需指定要插入数据的列名,只需提供被插入的…

【算法训练营】:数字三角形,背包问题1,背包问题2(python实现)

数字三角形 时间限制&#xff1a;2 sec 空间限制&#xff1a;256 MB 问题描述 给定一个高度为 n 的“数字三角形”&#xff0c;其中第 i 行&#xff08;1<i<n&#xff09;有 i 个数。&#xff08;例子如下图所示&#xff09; 初始时&#xff0c;你站在“数字三角形”的顶…

卡哇伊龙猫404页面源码

卡哇伊龙猫404页面&#xff0c;具有动态下雨&#xff0c;龙猫微笑等动态特效 HTML单页源码&#xff0c;喜欢的朋友可以下载 下载地址 https://www.qqmu.com/2416.html

初次安装WordPress后如何进行网站设置(主题安装、插件安装、网站美化、网站备份、安全性提升、伪静态、多域名设置等)WordPress网站常见问题设置指南

专栏地址: WordPress建站主题美化系列教程https://blog.csdn.net/seeker1994/category_12184577.html 一文搞懂WordPress是什么?为什么用它建站?怎么安装与部署? 使用腾讯云快速搭建WordPress网站流程详解 ...... 1. 前言 专栏上几篇文章介绍了小白零基础如何使用腾讯…

文件定时自动备份方法

备份文件&#xff1a;数据安全的坚实保障 在数字化时代&#xff0c;我们的生活和工作已经离不开电子文件。这些文件可能包含重要的工作资料、珍贵的个人照片、无法替代的创意作品等。然而&#xff0c;电脑硬盘的损坏、病毒的侵袭、甚至误操作都可能导致文件丢失&#xff0c;给…

【硬件工程师面经整理21_其它】

文章目录 1 为何电源的滤波电路常常是大电容配合小电容滤波2 小信号敏感信号是什么&#xff0c;如何保护敏感信号3 555定时器4 CMOS不用输入管脚该怎么处理。5 为什么一个标准的倒相器中 P 管的宽长比要比 N 管的宽长比大&#xff1f;6 S11和反射系数和插损的关系7 眼图的功能8…