zoukankan      html  css  js  c++  java
  • lua 可变参数

    问题:对可变参数传递的时候,采用如下方案:

    local cellData

    =

    {
    MsgText = msgText
    ,
    Param = ...
    ,
    CallBackFunc = callBackFunc
    ,
    CallBackContext = callBackContext
    ,
    Index = newIndex
    ,
    }

    这里面其实Param只传递看一个参数, 大致总结一下可变参数的使用:

    (1)...,标记为变长参数,lua在解析的时候会将相关参数保存在局部变量中

    (2)select()函数可以遍历其中的参数

    function printargs(...)
    local num_args = select("#", ...
    )
    for i = 1, num_args
    do
    local arg = select(i, ...
    )
    print(i,
    arg)
    end
    end

    (3)使用

    local t = { ... }将参数转换为table

    (4)函数中

    -- 

    可以
    print("1", ...
    )
    --
    被调整为一个参数
    print(..., "1"

    )

    如果想把可变参数放在前面,需要特殊处理,一种方式就是讲后面的参数和前面的参数一起重新打包

    function append(...)
    local t = { ... }
    table.insert(t, x)
    -- 将key为数字的转换为数组
    return unpack(t)
    end
     
  • 相关阅读:
    mysql中给查询结果添加序号
    Mysql如何取当日的数据
    nginx 出现413 Request Entity Too Large问题的解决方法
    Mac 安装Jupyter Notebook
    Python-用xlrd模块读取excel,数字都是浮点型,日期格式是数字的解决办法
    sql-exists、not exists的用法
    sql语句replace函数的使用
    Python-日期格式化
    Python-自动用0补取长度
    Flask-实现下载功能
  • 原文地址:https://www.cnblogs.com/zsb517/p/4628307.html
Copyright © 2011-2022 走看看