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

举报
鱼酱 发表于 2022/01/06 23:44:50 2022/01/06
【摘要】 1.  命名规范 a)    区分大小写 b)   不要使用关键字命名 c)     数字、字母、下划线、不要以数字开头,避免以下划线开头,或者后面是大写字母的命名 2.  类型与值 a)&nbsp...

1.  命名规范

a)    区分大小写

b)   不要使用关键字命名

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

2.  类型与值

a)    nil – 空

b)   boolean – 布尔

c)     string – 字符串

d)   function – 函数

e)    table – 表

f)      userdata –自定义数据类型

g)    thread – 线程

 

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



  
  1. print(type(var))
  2. var = 20
  3. print(type(var))
  4. var = "helloworld"
  5. print(type(var))
  6. var = print
  7. print(type(var))
  8. var(type(var))
  9. var ={}
  10. print(type(var))


 

1) nil

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

2)boolean

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

0也是真。


   
  1. var= nil
  2. if var then
  3. print("true")
  4. else
  5. print("false")
  6. 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

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

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

 


   
  1. long_str = [====[ i am am
  2. "long",
  3. long
  4. str]====]
  5. print(long_str)

 

 

连接字符串


  
  1. var ="hello".."hello"
  2. print(var)


 

获取字符串长度


  
  1. var ="hello".."hello"
  2. print(var)
  3. print(#var)
  4. long_str = [====[ i am am
  5. "long",
  6. long
  7. str]====]
  8. print(long_str)
  9. 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 变量中调用。

 

文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。

原文链接:yujiang.blog.csdn.net/article/details/78280019

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。