您的位置:首页 > 编程语言 > Lua

Lua基础学习(一)

2020-02-16 19:01 288 查看

基本数据类型

Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。

Lua 中有 8 个基本类型分别为:nil(空值,相当于null)、boolean、number(双精度double类型)、string、userdata(表示任意存储在变量中的C数据结构,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用)、function、thread 和 table(注意这个索引下标从 1 开始)。

nil:

有删除的作用,将一个变量赋值为nil的时候,相当于将这个变量进行了一个删除操作,另外nil进行比较操作的时候需要加上双引号。
如:
x=nil
type(x)nil (返回false)
type(x)“nil”(返回true)

string:

用单引号或者双引号表示
如:
string1 = “this is string1”
string2 = ‘this is string2’
同样也可以用 [[]]表示一大段的文字

字符串之间的连接用“. .”表示,数字字符之间进行算数操作的时候,会把字符串自动转化成数字类型进行计算

print(“2” + 6)
8.0
print(“2” + “6”)
8.0
print(“2 + 6”)
2 + 6
print("-2e2" * “6”)
-1200.0

可以使用#来计算字符串的长度

len = “www.runoob.com”
print(#len)
14
print(#“www.runoob.com”)
14

table:

– 创建一个空的 table
local tbl1 = {}

– 直接初始表(此时的表下标从 1 开始)
local tbl2 = {“apple”, “pear”, “orange”, “grape”}

使用类似字典键值对的方式来操作表:
a = {}
a[“key”] = “value”
key = 10
a[key] = 22
a[key] = a[key] + 11
for k, v in pairs(a) do
print(k … " : " … v)
end

function:

function在lua里面可以当做一个变量来使用,即可以进行函数之间的赋值,可以将函数当做一个变量传入另一个函数,也可以直接使用匿名函数来进行使用。总的来讲感觉就像是把unity里面的委托直接就当做了一种常规用法,不用再使用委托来进行相关操作。
如:
function factorial1(n)
if n == 0 then
return 1
else
return n * factorial1(n - 1)
end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))

匿名函数和函数作为变量来传递:

function testFun(tab,fun)
for k ,v in pairs(tab) do
print(fun(k,v));
end
end

tab={key1=“val1”,key2=“val2”};
testFun(tab,
function(key,val)–匿名函数
return key…"="…val;
end
);

以上实例都来自 菜鸟教程

  • 点赞
  • 收藏
  • 分享
  • 4000
  • 文章举报
加q 734149362 发布了13 篇原创文章 · 获赞 0 · 访问量 281 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: