lua中定义变量用and和or连接
最近在写代码中看到lua定义变量有local a = value1 and value2的操作,有些疑问,在此记录一下:
当连接两个操作数时,
1、对于运算符and,假设它的第一个操作数为假,就返回第一个操作数,否则返回第二个操作数
注:lua中只视nil和false为假,其它所有都为真,包括0也为真
例:
local a = 3 and 2
--都为真返回第二个操作数,返回2
local a = nil and 2
--前假后真返回第一个操作数,返回nil
local a = 2 and nil
--前真后假返回第二个操作数,返回nil
local a = false and nil
--都为假返回第一个操作数,返回false
2、对于运算符or,假设它的第一个操作数为真,就返回第一个操作数,否则返回第二个操作数
例:
local a = 2 or 3
--都为真,返回第一个数,返回2
local a = nil or 2
--前假后真返回第二个操作数,返回2
local a = 2 or nil
--前真后假返回第一个操作数,返回2
local a = false or nil
--都为假返回第二个操作数,返回nil
3、and连接多个操作数时,返回从左至右第一个为假的操作数,若都不为假,返回最后一个操作数
4、or连接多个操作数时,返回从左至右第一个为真的操作数,若都不为真,返回最后一个操作数
lua中定义变量用and和or连接的更多相关文章
- case中定义变量
1.c语言switch/case中定义变量 case 0: int b = 0 ; printf("0");break; case 1: printf("1" ...
- (转载)JavaScript中定义变量
(转载)http://blog.163.com/xuxiaoqianhz@126/blog/static/165190577201061594421870/ JavaScript中定义变量有两种方式: ...
- JavaScript 中定义变量时有无var声明的区别
关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...
- 不要在.h文件中定义变量
今天在头文件.h中初始化了一个数组和函数,在编译的时候提示这个数组和函数重新定义了,检查后发现,犯了一个致命的错误,在头文件中定义变量... 以下引用别人的一篇说明,警示自己. C语言作为一种结构化的 ...
- css中定义变量
css中定义变量 定义变量可分多种情况: 1.定义全局变量 :root { --borderColor: #ccc;} 2.定义某元素下的变量 .look{ --borderColor: #ccc;} ...
- [Linux][C][gcc][tips] 在头文件中定义变量引发的讨论
概述 本人的原创文章,最先发表在github-Dramalife-note中.转载请注明出处. Define variable(s) in header file referenced by mult ...
- ansible中定义变量的若干方法
Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...
- shell中定义变量用双引号和单引号以及不用引号的区别
1. 单引号 使用单引号的情况下,不管里面的是否有变量或者其他的表达是都是原样子输出 2. 双引号 如果其定义变量的时候使用双引号的话,则里面的变量或者函数会通过解析,解析完成后再输出内容,而不是把双 ...
- 在properties.xml中定义变量,在application.xml中取值问题
如果为application.xml中的变量赋默认值,同时又在properties.xml中变量赋值,而加载后是取不到properties.xml中的值的问题. 解决这个问题需要加上黑体部分配置: & ...
- js中定义变量的三种方式const,val,let 的区别
js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始 ...
随机推荐
- torrent种子
- react hook入门
useState的使用 代码 const Search = (props: any) => { // useState() 采用一个初始 state 作为参数,也可以像这样使用一个空字符串. / ...
- [2002年NOIP普及组] 选数
已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时, ...
- 理解redux中间件
redux questions : 1. reducers 函数如何创建和聚合 2. action创建函数如何如何包裹在dispatch函数中 3. 如何给默认的dispatch方法增加中间件能力 m ...
- jdbc(工具类和配置文件)
原始的jdbc要操作7步 导入jar包 加载驱动 获取连接 获取执行者对象 编写sql语句 处理结果 释放对象资源 当我们每次都要注册驱动,获取连接的时候,都感觉很烦,这时候怎么才能懒呢? 把driv ...
- Postman配置多环境请求地址
在使用Postman测试接口时,一个项目往往有多个环境(测试.正式等),请求不同环境的接口一般只是IP和端口不一样. 这时候我们可以定义多个环境变量,在接口地址中进行引用. 一.添加环境变量 1.点击 ...
- 算法学习—————PAM回文自动机
时隔一年,第一次学习新的算法 原理和AC自动机差不多 基本思想: 两棵树分别代表奇偶 在一个回文串两边同时填上相同字符可以得到另一个回文串,以此构建两棵树 树上维护信息: 节点表示的回文串为当前位置的 ...
- 剑指 Offer II 回溯法
086. 分割回文子字符串 用substr枚举 因为是连续的 不是放与不放的问题 class Solution { public: vector<vector<string>> ...
- 基于注解的AOP
1.引入依赖 <!--spring aop依赖--> <dependency> <groupId>org.springframework</groupId&g ...
- Visio中的图无失真导入LaTeX中
参考网址: LaTeX导入图片不失帧的方法_奋斗的西瓜瓜的博客-CSDN博客_latex图片模糊 LaTeX中插入eps格式图片_不觉岁华成暗度的博客-CSDN博客_eps latex Visio图片 ...