Lua学习笔记

Lua学习笔记

lua的基本语法和数据类型

image-20240222230033647

image-20240222230126378

image-20240222230222854

image-20240222230246375

image-20240222230330966

image-20240222230456951

在Lua中,最重要的线程是协同程序(coroutine)它跟线程(thread)差不多,拥有自己独立的栈、局部变量和指令指针,可以跟其它协同程序共享全局变量和其它大部分东西。

线程和协程的区别:线程可以同时运行多个,而协程任意时刻只能运行一个,并且处于运行状态的协程只有被挂起(suspend)时才会暂停。

userdata

自定义类型,用于表示一种由应用程序或C/C++语言库所创建的类型,可以将任意C/C++的任意数据类型的数据,(通常是struct和指针)存储到iLua变量中调用。

Lua变量

  1. 全局变量
  2. 局部变量
  3. 表中的域

Lua中的变量全是全局变量,哪怕是在语句块或者是函数里,除非用local显式声明为局部变量。

局部变量的作用域为从声明位置到所在语句块的结束。

所有变量的默认值均为nil

迭代器

--迭代器
--无状态的迭代器
--通用迭代器 ipairs
'''
array4={"1","TonyChang","2","UrusWong"}
for key,val in ipairs(array4)
do
print(key,val)
end
'''

--用函数来表示迭代器
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber=currentNumber+1
return currentNumber,currentNumber*currentNumber
end
end

for i,n in square,3,0
do
print(i,n)
end

image

未完---待续......

posted @ 2024-02-22 23:44  畅知  阅读(28)  评论(0编辑  收藏  举报