Lua基本数据类型

来源:互联网 发布:从小到大 性经历 知乎 编辑:程序博客网 时间:2024/05/16 19:07

windows平台下,环境搭建:

       LuaForWindows

这个直接点击安装就可以了,都不需配置啥环境变量的。

在里面,提供了开源的编辑器SciTE,在SciTE文件夹下点击SciTE.exe就可以直接打开了。


1.注释:

       单行注释:   --

       多行注释:  --[[     --]]

--定义变量aa=0;--[[定义变量b--]]b=0

2.区分大小写:

a=0A=1print(a,A)

输出为: 0       1


.基本数据类型:

       有8个基本类型:nil ,boolean ,number ,string ,userdata ,function ,thread ,table.

       1.nil:

变量未赋值之前默认它的类型和值都为nil。

当将变量的值赋为nil,删除该变量。

print(type(a))print(a)
输出:nil  

nil


       2.boolean:

有两个值:true和false。在条件逻辑判断中,false和nil为假,其他值都为真。

if nil thenprint("nil is true")endif false thenprint("false is true")endif true thenprint("true is true")endif 0 thenprint("0 is true")endif "" thenprint(" “” is true")end
在逻辑判断中,0和" "也是真。

     

        3.number:

表示实数,如果数值不是特别大的话,就不用担心精度的问题。

a=1b=0.01a=a+bprint(a)
这样,都省了类型转换了,挺方便的。


         4.string:

字符序列。字符窜不能修改,修改字符串需要创建一个新的变量来存储。

.. :字符串连接符。

a="窗外"b="月明"c=a..bprint(c)

数字好字符串之间互相转换:

a="0"a=tonumber(a)print(type(a))a=tostring(a)print(type(a))

当然,我们隐式的转换的话会发现:

-- 能隐式的将string转为numbera="0"a=a+0print(type(a))--[[   不能隐式的将number转为stringb=0b=b+""print(type(b))--]]

      5.function:

函数,作为一类值,可以存储在变量中,可以作为函数参数也可以作为返回值存在。

function add (a ,b)return a+bendfunction pr()return add(1,2)endprint(add(1,2))print(add(add(1,2),3))print(pr())

     6.table:

关系表,在使用上跟数组有点相似。可以用任意类型来作为索引和数据的存储类型。

-- 建立空表ta={}ta[-1]=2ta["one"]="one"-- 索引是字符串,可以直接通过 .访问ta.one="one re"print(ta[-1])print(ta["one"])-- 建表的时候,就初始化数据tt={10,--[[用字符串作为索引,可以使用下面的两种方式--]]["one"]="one",two="two"}-- 默认下标从0开始的print(tt[1])print(tt.one)print(tt.two)



0 0