lua学习笔记一 -- 基本数据类型和操作符介绍

本文是关于Lua编程的学习笔记,主要介绍了Lua的基本数据类型,包括nil、boolean、string、table、function、userdata,特别是table作为主要数据结构的特性。此外,还详细讲解了算术、关系和逻辑操作符,以及赋值和控制结构如if、while、for循环。文章强调了Lua中的字符串不可变以及表的动态性和索引特性。
摘要由CSDN通过智能技术生成

基本数据类型

Lua 是一门动态类型语言,有8种基本数据类型,nilbooleannumberstringuserdata(自定义)、functionthread(线程)、table(表),函数type可以根据一个值返回其类型名称。

print(type("hello world")) -- string
print(type(10.2*3)) -- number
print(type(true)) -- boolean
print(type(print)) -- function
print(type(nil)) -- nil
print(type(type(x))) -- string,因为type函数一定是返回字符串,所以返回string

Lua中变量没有预定义的类型,任何变量都可以包含任何类型的值,比如:

print(type(a)) -- nil,没有赋初值的变量,为nil
a = 10
print(type(a)) -- number
a = print
print(type(a)) -- function,这种写法在Lua中是合法的

注意:
nil 是一种数据类型,只有一个值”nil“,它的主要功能用去区分其他任何值。Lua将nil用于表示一种“无效值(non-value)”的情况,即没有任何有效值的情况,全局变量在赋初值前为nil,将nil赋值给一个全局变量,将相当于删除该全局变量。

booleannilfalse都视为假,其他值都是为真,0和空字符串也视为真

string Lua中的字符串时不可变的值(immutable values),不能像c语言那样直接修改字符串的值或字符串中的某个字符,而是应该根据修改要求创建一个新的字符串。

a = "one string"
b = string.gsub(a, "one", "another") -- b is "another string"

table 是Lua中的主要数据结构机制,也是唯一的。table是一种“关联数组”,可以通过整数、字符串或者其他类型的值来索引(除了 nil)。table没有固定大小,可以动态的添加任意数量的元素到table中。
table中有一个长度操作符“#”,用于返回一个数组或者线性表的最后一个索引值,在lua中,table的开始下表是从 1 开始的,这点与C语言等从 0 开始不同。

--打印所有的行
for i=1, #a do
    print(a[i])
end

print(a[#a]) -- 打印列表a的最后一个值
a[#a] = nil  -- 删
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫步旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值