zoukankan      html  css  js  c++  java
  • 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代表调用自己的函数的函数,以此类推

  • 相关阅读:
    什么是ETL?5分钟看完秒懂
    横向滚动 css
    解决echarts中横坐标值显示不全(自动隐藏)问题
    Echarts
    post 二进制流下载文件
    如何停止foreach
    日期格式 js
    cookie 属性
    HTML5 file对象和blob对象的互相转换
    前端图片压缩
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13485179.html
Copyright © 2011-2022 走看看