当前位置:网站首页>Lua安装及常用命令使用
Lua安装及常用命令使用
2022-08-02 02:56:00 【向着百万年薪努力的小赵】
1 Lua安装
首先我们准备一个linux虚拟机来安装Lua,在linux系统中按照如下步骤进行安装:
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar xf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux test
出现如下界面,表示安装成功:
版本查看:lua -v
我们可以发现,Lua版本还是原来系统自带的版本5.1.4,我们需要替换原来系统自带的lua,执行如下命令:
rm -rf /usr/bin/lua
ln -s /usr/local/gupao/lua-5.3.5/src/lua /usr/bin/lua
此时版本信息如下:
2 Lua常用操作
Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果,这种编程模式类似我们控制台操作,Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用:
[[email protected] lua-5.3.5]# lua -i
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
>
2.1 打印
print("springcloud alibaba")
2.2 数据类型

测试一下:
print(type("Hello world")) --> string
print(type(10.4*3)) --> number
print(type(print)) --> function
print(type(type)) --> function
print(type(true)) --> boolean
print(type(nil)) --> nil
print(type(type(X))) --> string
2.3 变量
变量在使用前,需要在代码中进行声明,即创建该变量。Lua 变量有三种类型:全局变量、局部变量、表中的域。
全局变量定义:
> age=19
> print(age)
19
局部变量定义:
> local username=wangwu
> print(username)
nil
此时username不是全局变量,一般在某个方法中使用,不能全局使用,所以输出nil。
2.4 对象
> --定义对象resp
> resp = {
}
> --往对象resp中添加属性name,赋值为zhangsan
> resp["name"]="zhangsan"
> --往对象resp中添加属性address,赋值为hunanchangsha
> resp["address"]="hunanchangsha"
> --输出对象resp中的name属性值
> print(resp["name"])
zhangsan
2.5 函数
创建一个函数,其实就是创建一个方法,函数以function开始,end结束,可以在end之前有返回值,也可以有入参,定义一个方法如下:
> --定义userinfo方法,入参为age
> function userinfo(age)
>> --age在原有基础上+1
>> age=age+1
>> --返回变化后的age
>> return age
>> --结束
>> end
> print(userinfo(19))
20
2.6 拼接
在上面方法调用上拼接一段字符串,可以使用亮点来做…,如下:
> print(userinfo(19).."岁了")
20岁了
2.7 逻辑判断
我们经常会做一些条件判断,在lua中也可以实现,lua中有if xx then else end的流程判断语法。
> function userinfo(age)
>> if age>=18 then
>> return "成年人"
>> else
>> return "未成年"
>> end
>> end
> print(userinfo(17))
未成年
2.8 脚本编程
我们可以像写java一样,将lua脚本写到一个文件中,并且可以在一个脚本文件引入另外一个脚本文件,类似java中的导包。
创建course.lua,代码如下:
--定义一个对象
local course = {
}
--定义一个方法
function course.courseName(id)
if id==1 then
return "java"
else
return "UI"
end
end
return course
创建student.lua,代码如下:
--导入course.lua
local cr = require("course")
--调用courseName方法
local result = cr.courseName(1)
print(result)
执行student.lua:
[[email protected] lua]# lua student.lua
java
边栏推荐
猜你喜欢
随机推荐
Invalid bound statement (not found)出现的原因和解决方法
【LeetCode】104. Maximum depth of binary tree
Reasons and solutions for Invalid bound statement (not found)
IPFS部署及文件上传(golang)
KICAD 拉线宽度无法修改,解决方法
【LeetCode】94.二叉树的中序遍历
WebShell特征值汇总与检测工具
Navicat cannot connect to database Mysql because of WiFi
Chrome浏览器无法加载已解压的.crx文件的解决办法
总体写作原则
数仓:数仓从ETL到ELT架构的转化以及俩者的区别
【LeetCode】83.删除排序链表中的重复元素
请教各位大佬,如果我代码里面设置了,这个id我在什么地方可以查到呢?连接到mysql cluste
【无标题】【Koltin Flow(三)】Flow操作符之中间操作符(二)
Chapter 10_Index Optimization and Query Optimization
Nacos源码分析专题(二)-服务注册
很有意思的经历,很有意思的项目--文件夹对比工具
咨询cdc for oracle,增量同步scan.startup.mode只有initial和la
有人知道HTML怎么到MYSQL数据库吗? (NODEJS)
WebShell Feature Value Summary and Detection Tool









