(摘自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语言入门的更多相关文章

  1. lua语言入门之Sublime Text设置lua的Build System

    转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...

  2. 【Lua程序设计第四版练习题答案】ch01 Lua语言入门

    联系1.1: 运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题.   -- 定义一个计算阶乘的函数 function fact (n) if n == 0 then re ...

  3. (五)Lua脚本语言入门

    ---恢复内容开始--- 写完这篇Lua脚本语言入门,自己就要尝试去用Lua脚本语言写esp8266了,,自己现在挺心急的,因为朋友使用esp8266本来说自己帮忙写好程序的,但是用的单片机不一样自己 ...

  4. (一)Lua脚本语言入门

    今天开始自己的Lua语言学习,Lua脚本语言,是介于应用程序和开发其应用程序的底层编程语言之间,,它很方便调用其它语言,它只是在载入时对其进行编译,而不像我们写的单片机程序是预编译的,先编译好然后写入 ...

  5. Lua简易入门教程

    环境:lua for windows (lfW)主页:http://luaforwindows.luaforge.net/https://code.google.com/p/luaforwindows ...

  6. 【quick-cocos2d-x】Lua 语言基础

    版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...

  7. Lua 从入门到放弃

    Lua 从入门到放弃 What is Lua? Lua is a powerful, efficient, lightweight, embeddable scripting language. It ...

  8. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  9. 用VC编译lua源码,生成lua语言的解释器和编译器

    用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...

随机推荐

  1. C++ BASS 实例

    #include <iostream> #include <string> #include <map> #include "..\sdk\bass\in ...

  2. DELPHI实现类似仿360桌面的程序界面

    1.窗体半透明: Alphablend属性为true;Alphablendvalue的值为100 2.窗体透明: formCreate: Self.TransparentColor := True;S ...

  3. iOS UIWebView获取403/404

    问题描述 与WindowsPhone不同,iOS UIWebView并不认为403/404这种情况下页面访问是失败的,这也情有可原,但有时候,我们需要对WebView所遇到的403/404进行处理. ...

  4. 巧用android:divider属性设置LinearLayout中元素之间的间隔

    如上图,要想实现3个button线性排列并且使它们的大小相同.间隔相等.而且整体填充满整个linearlayout,我们一般的做法是在每两个button之间放一个固定宽度的view,然后设置butto ...

  5. php数据结构课程---7、队列实战

    php数据结构课程---7.队列实战 一.总结 一句话总结: 注意条件:注意循环的条件(比如while循环打印队列元素时),注意if的条件 把问题想清楚:比如链表操作初次插入元素和后面再插,效果是不一 ...

  6. System.Web.Mvc.HttpDeleteAttribute.cs

    ylbtech-System.Web.Mvc.HttpDeleteAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral ...

  7. [kuangbin带你飞]专题一 简单搜索 - A - 棋盘问题

    #include<iostream> #include<cstdio> #include<string> #include<vector> #inclu ...

  8. 左神算法基础班4_1&2实现二叉树的先序、中序、后序遍历,包括递归方式和非递归

    Problem: 实现二叉树的先序.中序.后序遍历,包括递归方式和非递归方式 Solution: 切记递归规则: 先遍历根节点,然后是左孩子,右孩子, 根据不同的打印位置来确定中序.前序.后续遍历. ...

  9. python字典的常用操作,数据类型划分

    一.数据类型划分之一 可分为:可变数据类型,不可变数据类型 不可变数据类型:元祖,布尔值(Bool),数值 int ,字符串 str               可哈希 可变数据类型:  list,d ...

  10. asp.net Core 获取应用程序所在目录的2种方式

    //获取应用程序所在目录的2种方式(绝对,不受工作目录影响,建议采用此方法获取路径).如:d:\Users\xk\Desktop\WebApplication1\WebApplication1\bin ...