GJM : Lua 语言学习笔记

Lua笔记

  1. 容易与C/C++整合
  2. Lua所提供的机制是C所不善于的:高级语言,动态结构,简洁,易于测试和调试.
  3. Lua特有的特征:

`1:可扩展性.卓越的扩展性导致了很多人将Lua用作搭建领域语言的工具.

`2:简单.内容少,功能强大.易于学习

`3:高效率:很高的执行效率

`4与平台无关:几乎可以运行在所有的系统上.Lua不是通过使用条件编译实现平台无关,而是完全使用ANSI(iso)C,这就意味着只要有ANSIC编译器就能编译并使用Lua.

  1. 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是大小写敏感的.

注释:单行注释:--

多行注释:--[[   --]]

原文地址:https://www.cnblogs.com/TDou/p/6098832.html