ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Lua数据类型入门

2020-12-10 19:30:46  阅读:169  来源: 互联网

标签:入门 -- 数据类型 Lua a3 字符串 print table


数字

数字类型表示实数(双精度浮点)数字。Lua 没有整数类型,因为它不需要它。对浮点算术误差存在普遍的误解,有些人担心,即使是简单的增量,浮点数字也可能会变得怪异。事实是,当您使用双精度值表示整数时,没有任何舍入错误(除非数字大于 100,000,000,000,000,000)。具体地说,Lua 数字可以表示任何长整数,而不会出现舍入问题。此外,大多数现代 CPU 的浮点算术速度与整数算术一样快(甚至更快)

数字只有一种类型,就是默认双精度!

print(type(2))  --number
print(type(2.2))  --number
print(type(0.2))  --number
print(type(2e+1))   --number
print(type(0.2e-1))  --number
print(type(7.8263692594256e-06)) ----number

字符串

字符串具有通常的含义:一系列字符。Lua 是八位干净,因此字符串可能包含具有任何数值的字符,包括嵌入的零。这意味着您可以将任何二进制数据存储到字符串中。Lua 中的字符串是不可变值。不能像在 C 中那样更改字符串中的字符;因此,在 C 中可以更改字符串中的字符。相反,使用所需的修改创建新字符串

单引号,双引号,[[]] 都可以把字符串装起来

s1="apple"
s2=' hello'
s3=[[ I am happy]]
print(s1..s2..s3) --apple hello I am happy

函数

函数是Lua中的一等公民。 这意味着函数可以存储在变量中,作为参数传递给其他函数,并作为结果返回。 这样的功能为语言提供了极大的灵活性:当运行一段不受信任的代码(例如通过网络接收的代码)时,程序可以重新定义功能以添加新功能,或者简单地擦除功能以创建安全的环境。 而且,Lua为函数式编程提供了良好的支持,包括具有适当词法作用域的嵌套函数.

Lua可以调用用Lua编写的函数和用C编写的函数。Lua中的所有标准库都是用C编写的。它包括用于字符串操作,表操作,I / O,访问基本操作系统功能,数学函数和调试的函数。

function factorial(n)
    if n==0 then
        return 1
    else
        return n*factorial(n-1)
    end
end

print(factorial(6)) --720
x=factorial(6)
print(x) --720

table

在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。也可以在表里添加一些数据

需要注意的是下标从1开始

local tb1={} --定义一个空的table
local tb2={"apple","pear","orange","grape"}  --定义一个含有值得table
for k, v in ipairs(tb2) do   --table有一个类似索引的东西
    print(k.." "..v)
end

结果

1 apple
2 pear
3 orange
4 grape
a3={} --创建空table
for i = 1, 10 do
    a3[i]=i
end
--不能直接打印table
print(a3) --table: 00000000000994b0
print(a3[2]) --2 利用索引获取table元素
print(#a3) --10 table长度

a3["test"]=99
print(a3["test"]) --99
print(a3[test]) --nil

table其实也可以充当其他语言中map的作用

t={key1="value1",key2=value2}
print(t.key1) --这种写法方便点
print(t["key1"]) --这种写法需要加双引号
t.key3="value3"
print(t.key3) --value3
print(#t)

奇怪的# 键值对形式的不算长度

t1={"apple","bana"}
print(#t1) --2
t2={key1="apple",key2="bana"}
print(#t2) --0
t3={key1="apple",key2="bana","luobo"}
print(#t3) --1 

布尔类型

true
false

总结

  • 除了table比较奇怪,其他还是可以接受的

标签:入门,--,数据类型,Lua,a3,字符串,print,table
来源: https://blog.csdn.net/u010711495/article/details/110957686

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有