lua学习笔记day02-----类型,值,运算符

第2章 类型和值

nil、boolean、number、string、userdata、function、thread和table

nil:这种类型至于一个值,那就是nil。如果一个变量的值是nil,那么这个变量就不存在(不是为空,而是不存在)。所以当对一个变量赋值为nil时,也就是不要这个变量了。

boolean:有两种值,false、true。在lua中,变量结果为false只有两种情况,false、nil。即使是0都是true

nubmer:实数,不区分整数和小数,代表所有的数。

string:字符串。可以存放非常大的字符串,有1M的。

function:lua中认为函数是第一类值,是可以像其他参数一样。

userdata:用来存放c语言数据,具体使用,后续再看。


string类,有一些其他的操作。当string类型碰到算术运算符的时候,会变成number类型。当number碰到字符链接符(..)的时候,会变成string类型。

还有可以用 tostring(value)、tonumber(value)这样的函数来转换。


第3章 运算符

算数运算符 :类似 +、-、*、/还有 - 都是给实数运算用的


关系运算符 :<、>、<=、>=、==、~= ,返回的结果只有两种,true、false

比较number时,规则时传统的比大小规则。

比较string时,从首字母开始按照字母顺序进行,靠后的比较大。"abc"<"abcd"

混合string和number比较的时候,lua会报错。ps:”2“>15


逻辑运算符 :and or not

A and B :A为false时,结果为A,否则结果为 B

A or B :A为ture时,结果为A,否则结果为B

and的优先级比or高

A?B:C

A and B or C

上述两者时等价的。


连接运算符 :..

用于连接字符串,A..B  --> AB

当连接字符串两端有number类型时,会自动转换成string类型


优先级 :

^
not  - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or



你可能感兴趣的:(lua学习笔记day02-----类型,值,运算符)