Lua学习(2)类型与值

注释方法

Lua学习(2)类型与值

八种基础类型

nil(空)

......

lua中的字符串是不可改的

修改lua中变量字符串的方法:

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

字符串中的特殊字符

\a

\b

\f提供表格

\n换行

\' '

\" "

\r回车

\<ddd>

字符串全部输出方法

[[

]]

Lua学习(2)类型与值

 

..  用于字符串连接操作

Lua学习(2)类型与值

#输出有多少个字符

Lua学习(2)类型与值

Table表

实现关联数组,没有固定大小,可以任意添加

既不是值也不是变量,而是对象(动态分配对象)

创建Table

a={}  --创建table a
--给a赋1000个值
--for循环
for i=1,1000  --循环开始,lua中从1开始,循环1000次
do a[i]=i*2   --给a的每个元素进行赋值
end           --结束
print(a[2])   --输出table a中元素2的值
输出:4

 

求出最大的值

for 循环中#表示最大的索引

for i=1,#t do
print(t[i])
end

输出

Lua学习(2)类型与值

输出table t的最大索引

print(t[#t])

输出:2000

将最大索引的元素的值设为nil

然后输出最大索引元素数

print(t[#t])
t[#t]=nil
print(#t)
输出:999

获取最大索引元素数之后,再次增加一个值,再次输出最大索引元素的值,最大索引的元素数

t[#t+1]=233
print(t[#t])
print(#t)
输出:
233
1000

tonumber()对变量进行强制传变成nubmer

i=10;j="10";k="+10"
a={}
a[i]="one value";
a[j]="another value"
a[k]="yet another value"
print(a[i])
print(a[j])
print(a[k])
print(a[tonumber(k)])  --对k进行强制转换成数字值,那么k=10  k=i   元素k的值就等于元素i的值
print(a[tonumber(j)])  --同上

变量

  • 全局变量 

a =5

b="string"

c=false

  • 局部变量

local a=5

local b="string"

local c=false