• lua


    pcall(f[,arg1,..])

    • 以保护模式调用函数f
      第一个返回值是状态码(一个布尔量), 当没有错误时,其为真。 此时,pcall 同样会在状态码后返回所有调用的结果。

    next (table [, index])

    运行程序来遍历表中的所有域。 第一个参数是要遍历的表,第二个参数是表中的某个键。 next 返回该键的下一个键及其关联的值。 如果用 nil 作为第二个参数调用 next 将返回初始键及其关联值


    __newindex

    • 当settable操作,key存在直接赋值。否则调用__newindex元方法(如果有)
    
    local t = {}
    --t[1] = 1
    print("t:",t)   
    setmetatable(t,{__newindex = function(t,k,v)
             print(t,k,v) ---和上面的t是同一个
    end}) 
    t[2] = 2
    t[1] = 11
    

    _ENV 外部的局部变量

    被 _ENV 用于值的那张表被称为 环境。

    Lua 保有一个被称为 全局环境 特别环境。

    1,设置函数环境——setfenv

    环境:暂且简单理解成Namespace。解决命名冲突问题。

    (当我们在全局环境中定义变量时经常会有命名冲突,尤其是在使用一些库的时候,变量声明可能会发生覆盖,这时候就需要一个非全局的环境来解决这问题。setfenv函数可以满足我们的需求。)

      setfenv(f, table):设置一个函数的环境

      (1)当第一个参数为一个函数时,表示设置该函数的环境

      (2)当第一个参数为一个数字时,为1代表当前函数,2代表调用自己的函数,3代表调用自己的函数的函数,以此类推

  • 相关阅读:
    Unable to satisfy the following requirements解决方式
    零基础学python》(第二版)
    mysql 更新数据表的记录
    mysql创建数据库和删除数据库
    正则表达式
    python lambda函数详细解析(面试经常遇到)
    Linux 命令 统计进程数目
    Python 时间戳与时间字符串互相转
    python 安装配置(windows)
    linux 系统 tar 的用法详解
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13485179.html
Copyright © 2020-2023  润新知