https://img-blog.csdnimg.cn/32db9ce43ef64316a2e37a31f4cee033.gif
编程小鱼酱yu612.com,点击前往

0基础lua学习(二) 数据类型

1.  命名规范

a)    区分大小写

b)   不要使用关键字命名

c)     数字、字母、下划线、不要以数字开头,避免以下划线开头,或者后面是大写字母的命名

2.  类型与值

a)    nil – 空

b)   boolean – 布尔

c)     string – 字符串

d)   function – 函数

e)    table – 表

f)      userdata –自定义数据类型

g)    thread – 线程

 

函数print用来检测一个变量的类型


print(type(var))         

var = 20

print(type(var))

var = "helloworld"

print(type(var))

var = print

print(type(var))

var(type(var))

var ={}

print(type(var))


 

1) nil

在Lua中nil表示的是一种类型,它只包含一个值nil。任何在未赋值之前都是nil.当一个全局变量赋值为nil,表示删除这个变量。

2)boolean

     有两个值 true,false。 nil也表示false,其它情况都为真。

0也是真。

         var= nil

    if var then

         print("true")

     else

         print("false")

     end


 

 var = nil    console:false

var = false  console:false

var =  0     console:true

var = “”    console:true

var = “helloworld”  console:true

只有为false 或者nil。等于0也是true

 

3)number

     表示实数,且只有这一种

 a = 10

 b= 50.2

 c=5e20

4)string

     表示一个字符序列,通常用单引号或者双引号

如果字符格式多,用下面这种

 

    long_str = [====[ i am am

     "long",

     long

      str]====]

     print(long_str)

 

 

连接字符串

  
var ="hello".."hello"

print(var)


 

获取字符串长度

var ="hello".."hello"

print(var)

print(#var)

 

     long_str = [====[ i am am

     "long",

     long

      str]====]

     print(long_str)

         print(#long_str)


 

 

5)table 类似C++的map,比map繁琐

     ,table极大简化了使用过程

     如果C++声明

 Std::map<string,string> mvMap;

mvMap[“a”] = “test”

 

mvMap.insert(std::Map<std::string,std::string>::value_type(“b”,”test2”));

 

 

 map<int, string> mapStudent;

mapStudent.insert(pair<int,string>(1,"student_one"));

 

lua中这样声明

 

 

t = {a = “test1”,b = “test2”}


 

6.thread(线程)

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

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


7.userdata(自定义类型)

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

 

posted @ 2017-10-19 08:56  鱼酱  阅读(287)  评论(0编辑  收藏  举报

https://img-blog.csdnimg.cn/32db9ce43ef64316a2e37a31f4cee033.gif
编程小鱼酱yu612.com,点击前往