首页 > 代码库 > lua学习之表达式

lua学习之表达式

3.1 算术运算符
二元运算符:+-*/ ^ (加减乘除幂)
一元运算符:-(负值)
这些运算符的操作数都是实数。

3.2 关系运算符
< > <= >= == ~=

==,~=如果两个值d类型不同,则不等
lua通过引用比较tables,userdata,functions,也就是当且仅当表示同一个对象时才相等。

3.3 逻辑运算符
and or not
a and b -- 如果a为false,则返回a,否则返回b
a or b --如果a为true,则返回a,否则返回b
and 优先级比 or 高

3.4 连接符
..
字符串连接符,如果是数字,自动转成字符串。

3.5
从高到底:
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or

3.6 表d的构造
days  {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
print(days[4]) --> Wednesday

注:不推荐下标从0开始,否则很多标准库不能使用。

用table构造一个list
list = nil
for line in io.lines() do
list = {next = list, value = http://www.mamicode.com/line}
end
从标准输入读进每行,然后反序形成链表。
l = list
while l do
print(l.value)
l = l.next
end

lua学习之表达式