Lua中的逻辑运算符使用详解
下表列出了所有的Lua语言支持的逻辑运算符。假设变量A持有true,而变量B持有false:
示例
试试下面的例子就明白了所有的Lua编程语言提供的逻辑运算符:
a = 5
b = 20
if ( a and b )
then
print("Line 1 - Condition is true" )
end
if ( a or b )
then
print("Line 2 - Condition is true" )
end
--lets change the value ofa and b
a = 0
b = 10
if ( a and b )
then
print("Line 3 - Condition is true" )
else
print("Line 3 - Condition is not true" )
end
if ( not( a and b) )
then
print("Line 4 - Condition is true" )
else
print("Line 3 - Condition is not true" )
end
当建立并执行上面的程序它会产生以下结果:
Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - Condition is true
Line 3 - Condition is not true
相关推荐
-
Lua中的运算符简明总结
1. 数字运算 支持 +, -, *, /,^ . 这些运算符的操作数都是实数. 2. 连接运算 连接两个字符串,用".."运算符. 如果操作数为数字,Lua将数字转换成字符串. 3. 赋值运算 多变量一起赋值: 复制代码 代码如下: a,b,c,d = 'www.jb51.net', 'Q群: 14624678 ′,1,2 变量交换: 复制代码 代码如下: a,b=b,a 在默认情况下,变量总是认为是全局的.假如需要定义局部变量,则在第一次赋值的时候,需要用local说明.如: 复制
-
Lua中算术运算符的使用示例
下表列出了所有的Lua语言支持的算术运算符.假设变量A持有10和变量B持有20,则: 例子 试试下面的例子就明白了所有的Lua编程语言提供了算术运算符: 复制代码 代码如下: a = 21 b = 10 c = a + b print("Line 1 - Value of c is ", c ) c = a - b print("Line 2 - Value of c is ", c ) c = a * b print("Line 3 - Value o
-
Lua学习笔记之运算符和表达式
本篇博客学习一下Lua的运算符,比较简单,我将说明直接写到了代码中,代码如下. --算术运算符 --二元运算符:+ - * / ^ (加减乘除幂) --一元运算符:- (负值) --这些运算符的操作数都是实数,Lua中没有自增自减的运算符. --关系运算符 -- < > <= >= == ~= --这里需要注意的是不等于是用~=表示的 --这些操作符返回结果为false或者true:==和~=比较两个值,如果两个值类型不同,Lua认为两者不同: --nil只和自己相等.Lua通过引
-
Lua中的逻辑运算符使用详解
下表列出了所有的Lua语言支持的逻辑运算符.假设变量A持有true,而变量B持有false: 示例 试试下面的例子就明白了所有的Lua编程语言提供的逻辑运算符: 复制代码 代码如下: a = 5 b = 20 if ( a and b ) then print("Line 1 - Condition is true" ) end if ( a or b ) then print("Line 2 - Condition is true" ) end --
-
Lua中的面向对象编程详解
简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 复制代码 代码如下: local tb1 = {a = 1, b = 2} local tb2 = {a = 1, b = 2} local tb3 = tb1 if tb1 == tb2 then print("tb1 == tb2") else print("tb1 ~= tb2") end tb3.a = 3 print(tb1.a) 上述代码会输
-
Lua中table的遍历详解
当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: 复制代码 代码如下: for key, value in pairs(tbtest) do XXX end for key, value in ipairs(tbtest) do XXX end for i=1, #(tbtest) do XXX end for i=1, table.maxn(tbtest)
-
Lua中的__index方法详解
当我们访问一个表的不存在的域,返回结果为nil,这是正确的,但并不一定正确.实际上,这种访问触发lua解释器去查找__index metamethod:如果不存在,返回结果为nil:如果存在则由__index metamethod返回结果. 这个例子的原型是一种继承.假设我们想创建一些表来描述窗口.每一个表必须描述窗口的一些参数,比如:位置,大小,颜色风格等等.所有的这些参数都有默认的值,当我们想要创建窗口的时候只需要给出非默认值的参数即可创建我们需要的窗口.第一种方法是,实现一个表的构造器,对
-
Lua中的协同程序详解
前言 协同程序与线程差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和指令指针,同时又与其它协同程序共享全局变量和其它大部分东西.从概念上讲,线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行.就是说,一个具有多个协同程序的程序在任意时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显式地要求挂起时,它的执行才会暂停. 协同程序基础 Lua将所有关于协同程序的函数放置在一个名为"coroutine"的table中.函数c
-
lua中赋值类型代码详解
我们来看看lua vm在解析下面源码并生成bytecode时的整个过程: foo = "bar" local a, b = "a", "b" foo = a 首先我们先使用ChunkySpy这个工具来看看vm最终会具体生成什么样的vm instructions 在这里,开头为[数字]的行是vm真正生成的字节码,我们看到一共生成了六行字节码.首先loadk将常量表中下标为1的常量即"bar"赋给寄存器0:然后setglobal将
-
Angularjs中数据绑定的实例详解
Angularjs中数据绑定的实例详解 这是一个最简单的angularjs的例子,关于数据绑定的,大家可以执行一下,看看效果 <html ng-app> <head> <title>angularjs-include</title> <script type="text/javascript" src="js/angular/angular.min.js"></script> </head
-
基于angular中的重要指令详解($eval,$parse和$compile)
在angular的服务中,有一些服务你不得不去了解,因为他可以说是ng的核心,而今天,我要介绍的就是ng的两个核心服务,$parse和$compile.其实这两个服务讲的人已经很多了,但是100个读者就有100个哈姆雷特,我在这里讲讲自己对于他们两个服务的理解. 大家可能会疑问,$eval呢,其实他并不是一个服务,他是scope里面的一个方法,并不能算服务,而且它也基于parse的,所以只能算是$parse的另一种写法而已,我们看一下ng源码中$eval的定义是怎样的就知道了 $eval: fu
-
python中 logging的使用详解
日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分. 根据事件的轻重可分为以下几个级别: DEBUG: 详细信息,通常仅在诊断问题时才受到关注.整数level=10 INFO: 确认程序按预期工作.整数level=20 WARNING:出现了异常,但是不影响正常工作.整数level=30 ERROR:由于某些原因,程序 不能执行某些功能.整数level=40 CRITICAL:严重的错误,导致程序不能运行.整数
-
JavaWeb Servlet中Filter过滤器的详解
JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制.过滤敏感词汇.压缩响应信息).Filter能够对Servlet容器的请求和响应进行检查和修改,其本身不能生成请求request和响应response,只提供过滤作用(Servlet被调用之前检查Request对象修改其相关信息,Servlet被调用后检查Response修改其相关信息),Filter对象常驻服务器. 2.Lifecyc
随机推荐
- access中显示MSysObjects系统表的设置方法
- ckeditor 简单配置方法
- 墨香:按键精灵使用入门
- PowerShell入门教程之远程操作运行PowerShell的方法
- angular ng-click防止重复提交实例
- MyBatis在insert插入操作时返回主键ID的配置(推荐)
- Java的Struts框架中<results>标签的使用方法
- javascript模仿msgbox提示效果代码
- 深入理解NumPy简明教程---数组3(组合)
- Python中对元组和列表按条件进行排序的方法示例
- vue.js 表格分页ajax 异步加载数据
- 利用python实现xml与数据库读取转换的方法
- C#中把Datatable转换为Json的5个代码实例
- 升级到mac 10.10之后使用pod出现问题的解决方法
- C++编程小心指针被delete两次
- C语言解字符串逆序和单向链表逆序问题的代码示例
- java编程实现基于UDP协议传输数据的方法
- jquery实现多行文字图片滚动效果示例代码
- 原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
- javascript的函数劫持浅析