当前位置: 首页 > article >正文

【Lua学习】Lua入门

上一篇帖子【Lua学习】Lua最最基础的 – 经云的清净小站 (skycreator.top)讲了Lua是什么,Lua如何安装在Linux和Windows上。那么安装好之后,我们就要使用Lua实现我们的各种功能了。

首先,我们要先了解Lua一些最基本的内容,比如怎么执行Lua脚本?

执行Lua脚本

安装好Lua后,打开Linux的终端,或者Windows的PowerShell(也可以是cmd),可以使用

lua [Lua脚本名.lua] 来运行一个Lua脚本。例如:

lua helloworld.lua

helloworld.lua内容很简单,就是输出helloworld这个字符串。

print("Hello World!")

结果如下:

交互模式

Lua交互模式有两种方式进入。

1.终端直接输入lua

如上图所示,输入lua后,会在终端打印一行信息

Lua 5.4.3 Copyright (C) 1994 – 2021 Lua.org, PUC-Rio

说明这是Lua的5.4.3版本,第一次发布是在1994年,这个版本是在2021年发布的。后面Lua.org是官网,PUC-Rio是Lua所在小组的大学名(巴西里约热内卢天主教大学)的缩写。

在这行信息的下面,会出现>符号,代表此时可以进行交互。我直接输入print(“这是交互模式!”),在下一行立即输出了这句话。

2.执行Lua脚本后,自动进入

lua -i helloworld.lua

使用-i参数,会在执行完脚本后,自动进入交互模式。

交互模式操作

1.交互模式下执行Lua脚本

dofile("helloworld.lua")

可以使用dofile函数执行Lua脚本。

2.退出交互模式

使用组合键Ctrl+C可以退出交互模式。

注释

像其它语言一样,Lua脚本也有注释符号,可以让某一行或多行文本或命令不执行。

1.单行注释(–)

--这是单行注释,不会执行

2.多行注释(–[[和–]])

--[[这是
多行
注释
--]]

数据类型

Lua的数据类型一共有8种。

类型备注
nil无效值,nil 赋值给全局变量代表删除之
type(nil)==nil 结果是 false,因为 type 返回值是 string
boolean只有true和false
number数值
string字符串
table
function函数
userdata保存的C语言数据
thread线程

type函数

type函数可以显示一个值的类型。例如:

> type(nil)            --> nil
> type(true)           --> boolean
> type(3.5*7.3)        --> number
> type("Hello World!") --> string
> type(os.time)        --> function
> type(io.stdin)       --> userdata
> type({3,4,5})        --> table
> type(type(x))        --> string
> co = coroutine.create(function () print("hi") end)
> type(co)             --> thread

需要注意的是,type函数的返回值是字符串,因此上面第8行,无论x的值是什么,结果都是string

逻辑运算符

运算符备注
and第一个操作符为假(nil 或 false),返回第一个,否则返回第二个
> 4 and 5 –>5
> nil and 13 –> nil
> false and 13 –> false
or第一个操作符不为假(nil 或 false),返回第一个,否则返回第二个
> 0 or 5 –>0
> false or “hello” –>”hello”
> nil or false –> false
not>not nil –> true
>not false –> true
>not 0 –> false
>not not 1 –> true
>not not nil –> false

惯用写法

1. x = x or v 等价于 if not x then x = v end

2. a and b or c,在 b 不为假时,相当于三元运算 a ? b : c

独立解释器

在终端使用的lua命令,即是独立解释器。

lua命令写法及参数用法

lua [option][script[args]]
-e:直接输入脚本 % lua -e “print(‘hello’)”
-l:加载库 % lua -l lib
-i:进入交互模式 % lua -i

获取参数

% lua -e “x = 1” script a b
arg[-3] = “lua”
arg[-2] = “-e”
arg[-1] = “x = 1”
arg[0] = “script”
arg[1] = “a”
arg[2] = “b”


http://www.kler.cn/a/304976.html

相关文章:

  • EasyExcel 使用多线程按顺序导出数据
  • 【Qt】在 Qt Creator 中使用图片资源方法(含素材网站推荐)
  • Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例
  • 河南省的一级科技查新机构有哪些?
  • MySQL 中的索引下推功能
  • 第16章 SELECT 底层执行原理
  • vue3+ts+supermap icilent3d for cesium功能集合
  • linux + 宝塔 + django + websocket 部署
  • C++:opencv获取矩阵中的最大最小值--cv::minMaxLoc
  • R语言进行无序多分类Logistic回归
  • 五星级可视化页面(24):管线管路流程图可视化大屏。
  • 文档智能:OCR+Rocketqa+layoutxlm
  • Maven下载安装
  • 如何将镜像推送到docker hub
  • 【C++ 设计模式】单例模式的两种懒汉式和饿汉式
  • 使用transform对html的video播放器窗口放大
  • 基于51单片机的电饭锅控制系统proteus仿真
  • DroidBot: A Lightweight UI-Guided Test InputGenerator for Android论文学习
  • Apache SeaTunnel Zeta 引擎源码解析(二) Client端的任务提交流程
  • 【Prompt Engineering:思维树 (ToT)、检索增强生成 (RAG)、自动推理并使用工具 (ART)】
  • Nginx的使用场景:构建高效、可扩展的Web架构
  • 77-java 装饰器模式和适配器模式区别
  • PDF扫描版文字识别OCR
  • docker+docker-compose+gitlab
  • CentOS 入门
  • 深度解析:云原生环境下Docker部署Doris数据库