Lua 初学者需要注意的地方

来源:互联网 发布:域名如何更换 编辑:程序博客网 时间:2024/05/29 03:24

实现不定参数: ...需要用一个表来接收不定参数  

table表可以通过下标运算符来获取值,但是下标从1开始

lua文件实现读入数据:   
lua文件需要有  io.read()    在控制台到文件的路径下使用lua命令 lua  文件名 即可执行此文件

封装:三个权限 
继承:子承父业,重写,重载
多态:虚函数,动态联编   虚表,虚指针

加载文件:
require :仅加载一次,编译 加载后会有一个返回值

dofile:读入代码并编译执行,每调用dofile一次,都会重新编译执行一次

load file: 编译代码,将整个模块文件当成一个函数返回,但是不执行代码
换言之需要一个函数来接收并运行此函数,即可实现编译

关于函数:函数是第一类值(与其他变量相同),可以作为函数的参数,也可以作为函数的返回值,赋予函数极大的灵活性,一个程序可以重新定义函数增加的功能或者为了避免运行不可靠代码来隐藏函数
词法定界:被嵌套的函数可以访问他外部函数中的变量。这一点在闭合函数上有所体现

关于local本地变量的作用域问题:
本地变量定义在一个函数体中, 那么作用域就在函数中.
如果定义在一个控制结构中, 那么就在这个控制结构中.
如果定义在一个文件中, 那么作用域就在这个文件中.
如果是使用命令行的话, 一条完整的命令就是一个chunk, 所以例如 : 
> local i = 1
> print(i)
nil
在命令行下输出的只能是nil

关于不定参数:
function func( ... )
    local args = {…}    —  需要用一个表来接收,注意大括号

实现面向对象:
lua作为一种脚本语言,只能是模仿着面向对象的方法来实现
点声明需要点调用(需要传入self参数),冒号声明冒号调用,不用传参self 
0 0
原创粉丝点击