• 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
     
  • 相关阅读:
    软件工程第四次作业
    软件工程第三次作业
    图片
    软件工程第二次作业
    软件工程第一次作业
    我的大学生活-3-35-任延勇
    我的未来只有我知道
    cpu占用率高排查知识点
    LeetCode字符串题目
    hashmap
  • 原文地址:https://www.cnblogs.com/zsb517/p/4628307.html
Copyright © 2020-2023  润新知