Lua学习笔记之运算符和表达式

本篇博客学习一下Lua的运算符,比较简单,我将说明直接写到了代码中,代码如下。

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

--关系运算符
-- <  >  <=  >=  ==  ~=
--这里需要注意的是不等于是用~=表示的
--这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;
--nil只和自己相等。Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。
--Lua比较数字按传统的数字大小进行,比较字符串按字母的顺序进行,
print("0" == 0)  -- false

a = {1,2}
b = {1,2}
c = a
print(a==c) -->true
print(a==b) -->false

print(2 < 15 )  -- true
print("2" < "15" ) -- false

--逻辑运算符
--and or  not
--逻辑运算符认为false和nil是假(false),其他为真,0也是true.
--and和or的运算结果不是true和false,而是和它的两个操作数相关。
--a and b  如果a为false,则返回a,否则返回b
--a or b  如果a为true,则返回a,否则返回b

print(false and 13)  --> false
print(4 or 5)   --> 4
print(false or 5)  --> 5

--一个很实用的技巧:C语言中的三元运算符a ? b : c 在Lua中可以这样实现:(a and b) or c
local a = 1
local b = 2
local num = (a>b and a) or b
print(num) -->2

--连接运算符
--..两个点
--字符串连接,如果操作数为数字,Lua将数字转成字符串。注意数字之间的空格
print("Hello ".."lua")  --> Hello lua
print(0 .. 1)    --> 01

最后说明一下运算符的优先级,给大家一张表参考,用到的时候查。

(0)

相关推荐

  • Lua中的基本数据类型详细介绍

    基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8中基本类型,分别是: 1.nil(空)类型 2.boolean(布尔)类型 3.number(数字)类型 4.string(字符串)类型 5.userdata(自定义类型) 6.function(函数)类型 7.thread(线程)类型 8.table(表)类型 以上是Lua中的8中基本类型,我们可以使用type函数,判断一个值得类型,type函数返回一个对应类型的字符串描述.例如: 复

  • Lua判断数据类型的方法

    一.判断数据类型的方法 type(xxxx) 这个函数的返回值是string类型   也就是说: 复制代码 代码如下: a = type(X)   -- a="nil" b = type(a)   -- b="string" a = type(nil) -- a="nil" 二.Lua脚本语言的8种基本数据类型 1.数值(number):内部以double表示. 2.字符串(string):总是以零结尾,但可以包含任意字符(包括零),因此并不等价

  • 深入探究Lua中的解析表达式

     使用一个模式 这个例子显示了一个建立和使用模式的程序,它非常简单但很完整: 复制代码 代码如下: local lpeg = require "lpeg" -- matches a word followed by end-of-string p = lpeg.R"az"^1 * -1 print(p:match("hello"))        --> 6 print(lpeg.match(p, "hello")) 

  • Lua数据类型介绍

    Lua 是一个功能强大.快速.轻量的可嵌入式脚本语言,由标准的 ANSI C 实现,由于拥有一组精简的强大特性,以及容易使用的 C API,这使得它可以很容易嵌入或扩展到其他语言中使用,并且有个非官方认领的中文名 -- "撸啊". 安装 Lua Lua 安装很简单,把源码下载下来后,直接 make 就行: 复制代码 代码如下: wget http://www.lua.org/ftp/lua-5.2.2.tar.gz tar -zxvf lua-5.2.2.tar.gz cd lua-5

  • Lua学习笔记之表达式

    前言 这里总结的内容和其它语言的基本类似,所以这里就只是基本的进行总结.不做详细的讲解. 算术操作符 Lua支持常规的算术操作符有:"+"(加法),"-"(减法),"*"(乘法),"/"(除法),"^"(指数),"%"(取模),一元的"-"(负号).所有的这些操作符都用于实数.例如:x^0.5将计算x的平方根,x^3将计算x的3次方. 关系操作符 Lua提供的关系操作

  • Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记

    赋值语句 注释,单行用(--)来表示:多行用(--[[ ... ]])来标示: 定义,lua中没有定义(申明数据类型),它是通过赋值来确定其数据类型的. 赋值,是改变一个变量的值和改变表域的最基本的方法. a = "hello" .. "world" Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量.a, b = 10, 2*x <--> a=10; b=2*x 遇到赋值语句Lua会先计算右边所有的

  • 详解Lua中的数据类型

    Lua是动态类型语言,所以变量没有类型,仅值有类型.值可以被存储在变量中,作为参数传递,并作为结果返回. 在Lua中虽然我们没有变量的数据类型,但我们有类型的值.用于数值数据类型的列表在下面给出.  函数类型 在Lua中有一个叫做函数类型,使我们能够知道变量的类型.如下一些例子给出了下面的代码. 复制代码 代码如下: print(type("What is my type"))   --> string t=10 print(type(5.8*t))              

  • Lua教程(三):表达式和语句

    一.表达式: 1. 算术操作符:     Lua支持常规算术操作符有:二元的"+"."-"."*"."/"."^"(指数)."%"(取模),一元的"-"(负号).所有这些操作符都可用于实数.然而需要特别说明的是取模操作符(%),Lua中对该操作符的定义为:   复制代码 代码如下: a % b == a - floor(a / b) * b 由此可以推演出x % 1的

  • Lua学习笔记之数据类型

    从本篇博客开始研究一下Lua,现在的Lua真得是很火,因为Cocos2d-x写游戏的时候会用到,所以就拿过来学学吧,先从基础的语法开始,然后慢慢的深入.本人也是刚刚学习,希望和学习Lua的大家交流,博客权当笔记,有错误之处还请赐教. 当然首先是开发环境了,我的学习背景是Cocos2d-x,所以下载了最近发布的Cocos Code IDE版本,我们可以在Cocos Code IDE上边新建工程,然后写Lua测试代码,关于Cocos Code IDE的使用官方有不少的教程,这里就不说了.当然你也可以

  • Lua表达式和控制结构学习笔记

    算术操作符 Lua 的算术操作符有: "+"(加法): 复制代码 代码如下: print(1 + 2) "-"(减法): 复制代码 代码如下: print(2 - 1) "*"(乘法): 复制代码 代码如下: print(1 * 2) "/"(除法): 复制代码 代码如下: print(1 / 2) "^"(指数): 复制代码 代码如下: print(27^(-1/3)) "%"(取模)

  • Lua中基本的数据类型、表达式与流程控制语句讲解

    1. Lua类型 1.1 基本类型 Lua是一种动态类型语言,没有类型定义的语法.Lua一共有8种基础类型:nil(空).boolean(布尔).number(数字).string(字符串).userdata(自定义类型).function(函数).thread(线程).table(表). 函数type可根据一个值返回其类型名称(字符串),如print(type(print)),输出"function":print(type(type(X))) ,输出"string"

  • 实现Lua中数据类型的源码分享

    概述 在Lua中有8种基础类型:nil.boolean.number.string.userdata.function.thread和table.可以使用函数type查看某个变量或值的类型,返回相应的类型名称.像其他动态语言一样,在语言中没有类型定义的语法,每个值都携带了它自身的类型信息.下面将通过Lua 5.2.1的源码来看类型的实现.    源码实现 Lua将值表示成带标志的联合结构,代码如下(lobject.h): 90 /* 91 ** Union of all Lua values 9

  • Lua中的操作符和表达式总结

    前言 这里总结的内容和其它语言的基本类似,所以这里就只是基本的进行总结.不做详细的讲解. 算术操作符 Lua支持常规的算术操作符有:"+"(加法),"-"(减法),"*"(乘法),"/"(除法),"^"(指数),"%"(取模),一元的"-"(负号).所有的这些操作符都用于实数.例如:x^0.5将计算x的平方根,x^3将计算x的3次方. 关系操作符 Lua提供的关系操作

随机推荐