Lua笔记
- 容易与C/C++整合
- Lua所提供的机制是C所不善于的:高级语言,动态结构,简洁,易于测试和调试.
- Lua特有的特征:
`1:可扩展性.卓越的扩展性导致了很多人将Lua用作搭建领域语言的工具.
`2:简单.内容少,功能强大.易于学习
`3:高效率:很高的执行效率
`4与平台无关:几乎可以运行在所有的系统上.Lua不是通过使用条件编译实现平台无关,而是完全使用ANSI(iso)C,这就意味着只要有ANSIC编译器就能编译并使用Lua.
- Lua大部分强大的功能来自于类库,Lua长处之一就是通过新类型和函数扩展其功能.
-->表示 语句的输出 或者 表达式的结果
Print(10) --> 10
13+3-->16
<--> 表示 等价
第一章:起点
prompt
- adj. 敏捷的,迅速的;立刻的
- vt. 提示;促进;激起;(给演员)提白
- n. 提示;付款期限;DOS命令:改变DOS系统提示符的风格
- adv. 准时地
文件hello.lua
命令运行
prompt> lua hello.lua
n的阶乘
function fact(n)
if n == 0 then
return 1;
else
return n*fact(n-1)
end
end
print(“enter a number”)
a = io.read(“*number”)
print(fact(a))
1.1
Chunks
Chunk是一系列语句,Lua执行的每一块语句, 如: 一个文件 或者交互模式下的每一行都是一个Chunk.
每个语句结尾的分号是可选的,不过如果同一行有多个语句最好用 ; 分开.
键入的每个命令在键入回车后立即被执行,键入文件结束符可以退出交互模式,或者调用OS库的os.exit()也可以退出.
在交互模式下,Lua通常把每一个行当做一个Chunk,但如果一行不是一个完整的Chunk,会等待输入知道得到一个完整的Chunk.
-l命令
调用require 在指定目录下搜索文件
-i命令 要求lua运行指定Chunk后进入交互模式.
dofile(“文件名.lua”);
1.2
全局变量
Lua不需要声明全局变量,给一个变量赋值即创建了这个全局变量,访问一个没有赋值的全局变量不会错,会得到一个nil的结果
删除全局变量,只需要将变量赋值为nil
即为:当且仅当一个变量不等于nil时,这个变量存在.
1.3
词法约定
标示符:字母(letter)或者下划线开头的字母,下划线,数字序列.最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的.Lua中,letter的含义是依赖于本地环境的.
注意:Lua是大小写敏感的.
注释:单行注释:--
多行注释:--[[ --]]
GJM : Lua 语言学习笔记的更多相关文章
-
GJM : JavaScript 语言学习笔记
JavaScript ------------------------------变量声明 : var a;变量赋值 : var a = 12; 函数声明 : var mAwesomeFunction ...
-
GJM : C#语言学习笔记
--------------------------------------C#--------------------------------------if (tom == null) tom = ...
-
lua本学习笔记功能
Lua本学习笔记功能 1. 函数返回 指定任务的主要功能是完成,在这种情况下,函数被用作调用语句.函数可以计算并返回值,在这种情况下,作为分配值表达式语句使用. 语法: funcationfunc_ ...
-
HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
-
2017-04-21周C语言学习笔记
C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...
-
2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
-
GO语言学习笔记(一)
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...
-
Haskell语言学习笔记(88)语言扩展(1)
ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...
-
Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...
随机推荐
-
Word Search I &; II
Word Search I Given a 2D board and a word, find if the word exists in the grid. The word can be cons ...
-
mycat启动后,用Navicat Premium 连接报 ";2013";
最近在学习mycat,启动后,用Navicat Premium 连接报 "2013" Lost Connection During Query ,经过一顿百度也没发现是怎么回事, ...
-
数据库操作CURD
JDBCCURD操作实例 19. 五 / J2EE / 没有评论 代码目录结构: domain javabean: util 工具类 jdbcUtil是连接数据mysql数据库的工具类 ...
-
Mysql入门到精通数据表的操作
变更表 ALTER TABLE tb_name; 1.加入场 ALTER TABLE tb_name ADD 字段名字 字段类型 约束条件 [FIRST/AFTER 字段名称] 1>加入user ...
-
每天一个linux命令(44)--ss命令
ss 是 socket statistics 的缩写.顾名思义,ss 命令可以用来获取socket 统计信息,它可以显示和netstat 类似的内容.但 ss 的优势在于它能够显示更多更详细的有关TC ...
-
Hive导出复杂数据到csv文件
工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...
-
MVC和MTV模式
著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交 ...
-
Unity3D介绍
Unity3D介绍:Unity3D是一个游戏开发引擎 由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具 ...
-
FTP主动模式和被动模式的区别(转)
dd by zhj: 一般使用被动模式,在命令行下,被动模式的格式是:ftp -p (yinservice_env) ajian@ubuntu-desk:~$ ftp -pftp> 之前在用命令 ...
-
重启ssh服务出现Redirecting to /bin/systemctl restart sshd.service
转自:https://blog.csdn.net/caijunfen/article/details/70599138 CentOs 重启ssh服务的命令如下: # service sshd rest ...