Lua基础之语法
目录:1.输出2.注释3.控制语句4.赋值语句5.运算符6.关键字7.变量类型8.其他
原文地址http://blog.csdn.net/dingkun520wy/article/details/49930543
1.输出
print("Hello world")
2.注释
单行注释中,连续两个减号"--"表示注释
多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止
3.控制语句
(If)
if 条件 then ... elseif 条件 then ... else ... end
实例
if 1+1=2 then print("true")
elseif 1+2~=3 then print("true")
else print("false") end
(While)
while 条件 do ... end
实例
while 1+1~=2 do print("true") end
(Repeat)
repeat ... until 条件
实例
repeat print("Hello") until 1+1~=0
(For)
for 变量=初值, 终点值, 步进 do ... end
实例
for i = 1, 10, 2 do print(i) end
for 变量 1, 变量 2, ... 变量 n in 表或枚举函数 do ... end
实例
for a,b in mylist do print(a, b) end
4.赋值语句
Lua中赋值是可以同时给多个变量赋值的
如:
a,b,c = 1,2,3
当左边变量少时舍弃
当右边变量少时补nil
5.运算符
运算符优先级,从低到高顺序如下:
or 逻辑或 a or b:如果 a 为 true,则返回 a;否则返回 b
and 逻辑与 a and b:如果 a 为 false,则返回 a;否则返回 b
< > <= >= ~= ==比较运算,~=为不等于
.. 字符串链接 print("Hello world".."Lua")
+ - 数值运算
* / % 数值运算
not # - 一元运算: not是取反,#()区长度,-负数
^ 数值运算:指数乘方运算
6.关键字
and |
break |
do |
else |
elseif |
|
end |
false |
for |
function |
if |
|
in |
local |
nil |
not |
or |
|
repeat |
return |
then |
true |
until |
while |
7.变量类型
nil:空值,所有没有使用过的变量,都是 nil。nil 既是值,又是类型。
Boolean:布尔值,只有两个有效值:true 和 false。在Lua中只有false和nil是false,其他都是true
Number:数值,在 Lua 里,数值是实数。
String:字符串,如果你愿意的话,字符串是可以包含"\0"字符的(这和 C 语言总是以"\0"结尾是不一样的)
详见 http://blog.csdn.net/dingkun520wy/article/details/50434530
Table:关系表类型,这个类型功能比较强大,详见http://blog.csdn.net/dingkun520wy/article/details/50231603
Function:函数类型,函数也是一种类型,也就是说,所有的函数,它本身就是一个变量
例如:
function add(a,b)
return a+b
end
详见:http://blog.csdn.net/dingkun520wy/article/details/50275387
Userdata:这个类型专门用来和 Lua 的宿主打交道的。宿主通常是用 C 和 C++来编写的,是宿主的任意数据类型,常用的有 Struct 和指针。
Thread:线程类型,在 Lua 中没有真正的线程。Lua 中可以将一个函数分成几部份运行
7.其他
在 Lua 中,一切都是变量,除了关键字。
在 Lua 中,语句之间可以用分号";"隔开,也可以用空白隔开。
在 Lua 中,for 的循环变量总是只作用于 for 的局部变量;当省略步进值时,for 循环会使用 1 作为步进值
在 Lua 中,语句块是用 do 和 end 括起来的。
在 Lua 中,变量总是全局变量,除非我们在前面加上"local"。
Lua基础之语法的更多相关文章
- Lua基础语法讲解
Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...
- Lua基础 函数(一)
转自: http://blog.csdn.net/wzzfeitian/article/details/8653101 在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作 ...
- Step By Step(Lua基础知识)
Step By Step(Lua基础知识) 一.基础知识: 1. 第一个程序和函数: 在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如: /> l ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- Lua 基础
Lua 5.3 的中文手册, http://cloudwu.github.io/lua53doc 在线浏览 --第一部分 -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释. -- ...
- OC基础 点语法的使用
OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...
- 二、JAVA基础、语法
第二节:JAVA基础.语法 1.修饰符.变量: Java中主要有如下几种类型的变量 局部变量 ...
- Lua基础之MetaTable(6)
Lua基础之MetaTable(6) 转载地址:http://nova-fusion.com/2011/06/30/lua-metatables-tutorial/ 关于MetaTable的补充:ht ...
- 六. Python基础(6)--语法
六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...
随机推荐
- [改善Java代码]推荐在复杂字符串操作中使用正则表达式
一.分析 字符串的操作,诸如追加.合并.替换.倒序.分隔等,都是在编码过程中经常用到的,而且Java也提供了append.replace.reverse.split等方法来完成这些操作,它们使用起来 ...
- [改善Java代码]异常只为异常服务
异常原本是正常逻辑的补充,但是有时候会被当做主逻辑使用.看如下代码: public class Client { enum Color { Red, Blue; } public static voi ...
- 【记忆化搜索】Codeforces Round #295 (Div. 2) B - Two Buttons
题意:给你一个数字n,有两种操作:减1或乘2,问最多经过几次操作能变成m: 随后发篇随笔普及下memset函数的初始化问题.自己也是涨了好多姿势. 代码 #include<iostream> ...
- Android之进度条1
第一种方法(比较简单): package com.example.dialogdemo; import java.util.Random; import android.app.Activity; i ...
- ListView控件的用法
listView是一个可以用来显示视图列表的控件. 它使用适配器来为之提供数据和资源. ListView使用的基本步骤 得到ListView类型的对象mListView 生成适配器对象mListVie ...
- GitHub使用教程for VS2012
转自:http://www.cnblogs.com/yc-755909659/p/3753355.html 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小 ...
- wampserver安装后 mysql 所有数据库丢失的解决方案
事情起源: 晚上十点客户紧急来电,说是网站全部瘫痪.同事登陆数据库一看,Mysql Workbench Database下一片空白.当时我们都傻了. 发现原因: 服务器环境是windows serve ...
- UML建模文章总结
一.为什么要学习UML UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品进行可视化.详述.构造和文档化的语言.制品{Artifact} ...
- android 数据库的创建
主java package com.itheima.createdatabase; import android.app.Activity; import android.content.Contex ...
- (五)Qt5之中文显示
Qt中的中文显示,经常会出现乱码,但在UI设计界面上添加的中文是不会出现乱码的,如果你刚使用qt,那么你肯定会碰到这个问题. 网上搜索一下,找到的都是这种: #include < QTextCo ...