Lua语言入门
(摘自Lua程序设计)
Lua语言中的标识符(或名称)是由任意字母丶数字和下划线组成的字符串(注意不能以数字开头)
下划线加大写字母组成的标识符通常被Lua语言用作特殊用途,应避免将其用作其他用途。
单行注释:
Lua语言中使用两个连续的连字符(--)表示
多行注释:
使用两个连续的连字符加两对连续左方括号表示长注释或多行注释的开始,直到两个连续的右括号为止,中间都是注释。
(--[[ ... ]])
在注释一段代码时,一个常见的技巧是将这些代码放入--[[和--]]之间,列如
--[[
print(10)
--]]
当我们需要重新启用这段代码时,只需在第一行行首添加一个连字符即可
---[[
print(10)
--]]
在Lua语言中,连续语句之间的分隔符并不是必须的,如果有需要的话可以使用分号来进行分隔。
在Lua语言中,表达式之间的换行也不起任何作用。
在Lua语言中,全局变量无需声明即可使用,使用未经初始化的全局变量也不会导致错误,当使用未经初始化的变量时,得到的结果是nil。
Lua语言是一种动态语言,在这种语言中没有类型定义。
nil:
nil是一种只有nil值得类型,它的主要作用就是与其他所有值进行区分。Lua使用nil来表示无效值得情况(相当于null?)
一个全局变量第一次被赋值前得默认值就是nil,而将nil赋值给全局变量则相当于把他删除。
Lua将除了Boolean类型得false和nil的其他所有值视为真。在条件测试中零和空字符串也都视为真。
逻辑运算符and的运算结果为:如果它的第一个操作数为false(nil),则返回第一个操作数,否则返回第二个操作数。
逻辑运算符or的运算结果为:如果第一个操作数不为false(nil),则返回第一个操作数,否则返回第二个操作数。
and和or都遵循短路求值原则,即只有在必要时才对第二个操作数进行求值。
在Lua语言中,形如x = x or v的惯用写法非常有用,它等价于:
if not x then x = v end
即,当x未被初始化时,将其默认值设为v。
not运算符将永远返回Boolean类型的值
not nil --> true
not false --> true
not true --> false
not 0 --> false
not not nil -->false
Lua语言入门的更多相关文章
- lua语言入门之Sublime Text设置lua的Build System
转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...
- 【Lua程序设计第四版练习题答案】ch01 Lua语言入门
联系1.1: 运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题. -- 定义一个计算阶乘的函数 function fact (n) if n == 0 then re ...
- (五)Lua脚本语言入门
---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...
- (一)Lua脚本语言入门
今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入 ...
- Lua简易入门教程
环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/https://code.google.com/p/luaforwindows ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
- Lua 从入门到放弃
Lua 从入门到放弃 What is Lua? Lua is a powerful, efficient, lightweight, embeddable scripting language. It ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- 用VC编译lua源码,生成lua语言的解释器和编译器
用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...
随机推荐
- COGS2355 【HZOI2015】 有标号的DAG计数 II
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 输入格式 一个正整数n 输出格式 一个数,表示答案 样例输入 3 样例输出 ...
- Neo4j 因果集群搭建及neo4j-java-driver连接
搭建Neo4j因果集群 1.下载企业版,当前是3,5,9版本 https://neo4j.com/download-center/#enterprise 2.配置,三个核心集群为例 配置文件,conf ...
- Windows 隐藏控制台
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"& ...
- 专访阿里云MVP黄胜蓝:90 后 CTO花了6年,改变了你日常生活里的这件事
[黄胜蓝:现任武汉极意网络科技有限公司CTO.高中时期NOIP一等奖保送至武汉大学,大学期间曾指导团队获得世界数学建模大赛金奖,同时负责武汉大学学生校园门户网站的运维工作.于2013年加入武汉极意网络 ...
- pca算法实现
pca基础知识不了解的可以先看下一这篇博客:https://www.cnblogs.com/lliuye/p/9156763.html 具体算法实现如下: import numpy as np imp ...
- 《DSP using MATLAB》Problem 8.33
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 第十篇:javaScript中的JSON总结
参考网站:json中国,MDN json 一.必知基础 JSON 是JavaScript对象文字符号的一个子集,它可以自如的在JavaScript中使用.看下这个对象: var myJSONOb ...
- 面试系列19 redis的雪崩和穿透
缓存雪崩发生的现象 缓存雪崩的事前事中事后的解决方案 事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃 事中:本地ehcache缓存 + hystrix限流&降级, ...
- BezierCode 工具使用
概要 今天无意间看到一个视频,发现了一款绘画Bezier 图形绘制并自动生成OC代码的神器, 因此马上先记录下. 之前一直很纠结如果程序员自己去绘制图片,久那么使用bezier 自己去画吗? 答案是: ...
- Python基础知识之2——字典
字典是什么? 字典是另外一个可变的数据结构,且可存储任意类型对象,比如字符串.数字.列表等.字典是由关键字和值两部分组成,也就是 key 和 value,中间用冒号分隔.这种结构类似于新华字典,字典中 ...