美文网首页
lua - 类型和值

lua - 类型和值

作者: CDLOG | 来源:发表于2018-10-12 11:22 被阅读4次

Lua是动态类型语言,变量不要类型定义。Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。函数type可以测试给定变量或者值的类型。变量没有预定义的类型,每一个变量都可能包含任一种类型的值。

1,nil

Lua中特殊的类型,他只有一个值:nil;一个全局变量没有被赋值以前默认值为nil;给全局变量负nil可以删除该变量。

2, Booleans

两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真。

3, Numbers

表示实数,Lua中没有整数。可以在编译Lua的时候使用长整型或者单精度浮点型代替numbers.

4, Strings

指字符的序列。lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。这意味着你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串.string和其他对象一样,Lua自动进行内存分配和释放.
还可以使用[[...]]表示字符串。这种形式的字符串可以包含多行也,可以嵌套且不会解释转义序列,如果第一个字符是换行符会被自动忽略掉。这种形式的字符串用来包含一段代码是非常方便的。

运行时,Lua会自动在string和numbers之间自动进行类型转换,当一个字符串使用算术操作符时,string就会被转成数字。

print(10 .. 20)      --> 1020

..在Lua中是字符串连接符,当在一个数字后面写..时,必须加上空格以防止被解释错
当Lua期望一个string而碰到数字时,会将数字转成string.
如果需要显式将string转成数字可以使用函数tonumber(),如果string不是正确的数字该函数将返回nil。反之,可以调用tostring()将数字转成字符串,这种转换一直有效.

5,Lua中的转义序列有

\a bell

\b back space               -- 后退

\f form feed                -- 换页

\n newline                  -- 换行

\r carriage return          -- 回车

\t horizontal tab           -- 制表

\v vertical tab

\\ backslash                 -- "\"

\" double quote             -- 双引号

\' single quote             -- 单引号

\[ left square bracket      -- 左中括号

\] right square bracket     -- 右中括号

6, Functions

函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。这个特性给了语言很大的灵活性:一个程序可以重新定义函数增加新的功能或者为了避免运行不可靠代码创建安全运行环境而隐藏函数,此外这特性在Lua实现面向对象中也起了重要作用

7, Userdata

userdata可以将C数据存放在Lua变量中,userdata在Lua中除了赋值和相等比较外没有预定义的操作。userdata用来描述应用程序或者使用C实现的库创建的新类型。例如:用标准I/O库来描述文件

相关文章

  • lua 的值类型

    lua 的值类型 lua 是动态类型的语言,即是说类型附着于值而不是变量。在 lua 脚本里,变量是没有类型的,只...

  • lua - 类型和值

    Lua是动态类型语言,变量不要类型定义。Lua中有8个基本类型分别为:nil、boolean、number、str...

  • Lua 快速笔记(一) type

    参考programing in lua 注释 值和类型 运算符 表 赋值 注释 值和类型 nil 未初始化的变量值...

  • Lua 数据类型

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

  • lua学习之类型与值篇

    类型与值 lua 是动态类型的语言 在语言中没有类型定义的语法 每个值都携带有它的类型信息 8种基础类型 用 ty...

  • Lua 完全教程

    Lua 环境安装 Lua 基本语法 Lua 数据类型 Lua 数据类型:nil(空) Lua 数据类型:boole...

  • 第二章 类型与值

    1. Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都携带了它自身的类型信息。在Lua中有8中基础...

  • Lua学习笔记(二):类型和值

    Lua是动态类型语言,变量不需要类型声明,每一个变量都可能包含任一种类型值。一般情况下,同一变量表示不同类型的值会...

  • lua入门笔记7 字符串库

    基础知识 Lua中的string和c#中相同,string类型的值一旦改变,便要为新值开辟空间,并指向此空间。也就...

  • 数据类型

    Lua 数据类型 lua是动态类型语言(定义变量时不用指定变量类型) lua有8个基本类型nil、boolean、...

网友评论

      本文标题:lua - 类型和值

      本文链接:https://www.haomeiwen.com/subject/mbbwaftx.html