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.接下来我们开始编 ...
随机推荐
- CSIC_716_20191113【装饰器进阶以及迭代器】
装饰器的进阶主要包含叠加装饰器和有参装饰器 叠加装饰器:在一个被装饰的对象中,添加多个装饰器. 为什么要用叠加装饰器的原因: -每一个新的功能都应该写一个新的装饰器,否则会导致,代码冗余,结构不 ...
- windows cmd command
////////////////// ===>windows + r //gpedit.msc 用户组策略 ///////////////// ===>cmd //ping www.bai ...
- 二分图带权匹配-Kuhn-Munkres算法模板 [二分图带权匹配]
尴尬...理解不太好T T #include<cstdio> #include<cstring> #include<iostream> #include<al ...
- DNS的解析过程
1.什么是DNS 在互联网上,唯一标识一台计算机的是IP地址,但是IP地址不方便记忆,通过一个域名对应一个IP地址,来达到找到IP地址的目的,那么DNS就是将域名转换成IP地址的过程. 2.DNS查询 ...
- 使用WebStorm上传本地项目到GitHub和GitLab
在使用 WebStorm 上传本地项目到 GitHub 之前,先要做一些相关配置. 首先打开 WebStorm ,依次点击File -> Settings… 打开系统设置面板,在上面搜索 git ...
- 尚学linux课程---7、linux系统管理命令
尚学linux课程---7.linux系统管理命令 一.总结 一句话总结: 查网络:netstat -ntpl 查进程:ps 1.需要下载163yum源(从外部源同步仓库)里面的所有rpm文件? re ...
- redis:info详解
[root@192.168.56.159 redis6380]redis-cli -a xxx info# Serverredis_version:3.0.7 redis_version: Redi ...
- 编译报错 :The method list(String, Object[]) is ambiguous for the type BaseHibernateDao<M,PK>
原因:eclipse 的个bug,具体见http://stackoverflow.com/questions/10852923/method-is-ambiguous-for-the-type-but ...
- icon 的前生今世 & iconfont 的晋级之路
布吉岛为啥起了个这么文(dou)艺(bi)的名字,话不多说,开始总结
- 20.multi_case03
# 多线程 import threading import time class myThread(threading.Thread): def __init__(self, threadID, na ...