Lua学习笔记(一)

  1. 标准C语言编写并以源代码形式开放

  2. 设计目的是为了嵌入应用程序中

  3. window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases

  4. 有交互式编程,跟脚本式编程

  5. 在开头添加:#!/usr/local/bin/lua  指定了 Lua 的解释器 /usr/local/bin directory加上 # 号标记解释器会忽略它

  6. 多行注释推荐使用 --[=[注释内容]=],这样可以避免遇到table[table[idx]]时就将多行注释结束了

  7. Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符,Lua 是一个区分大小写的编程语言

  8. 最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的

  9. 在默认情况下,变量总是认为是全局的,全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil

  10. 如果你想删除一个全局变量,只需要将变量赋值为nil,换句话说, 当且仅当一个变量不等于nil时,这个变量即存在

  11. Lua是动态类型语言,变量不要类型定义,只需要为变量赋值,值可以存储在变量中,作为参数传递或结果返回

    Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table


  12. nil 作比较时应该加上双引号"


  13. boolean 类型只有两个可选值true(真)和 false(假)Lua 把 false 和 nil 看作是"假"其他的都为"真"

  14. Lua 默认只有一种 number 类型 -- double(双精度)类型(默认类型可以修改 luaconf.h 里的定义)

  15. 字符串由一对双引号或单引号来表示,也可以用 2 个方括号 "[[]]" 来表示"一块"字符串,在对一个数字字符串上进行算术操作时,Lua 会尝试将这个数字字符串转成一个数字,以上代码中"error" + 1执行报错了,字符串连接使用的是 .. 

  16. 使用 # 来计算字符串的长度,放在字符串前面

  17. 不同于其他语言的数组把 0 作为数组的初始索引,在 Lua 里表的默认初始索引一般以 1 开始

  18. 在 Lua 中,函数是被看作是"第一类值(First-Class Value)",函数可以存在变量里

  19. function 可以以匿名函数(anonymous function)的方式通过参数传递

  20. 在 Lua 里,最主要的线程是协同程序(coroutine)它跟线程(thread)差不多,拥有自己独立的栈、局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西,线程跟协程的区别:线程可以同时多个运行,而协程任意时刻只能运行一个,并且处于运行状态的协程只有被挂起(suspend)时才会暂停

  21. userdata 是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用

  22. Lua 变量有三种类型:全局变量、局部变量、表中的

猜你喜欢

转载自blog.csdn.net/qq_37633935/article/details/80955239