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
     
  • 相关阅读:
    椭圆形 上传图片预览 image preview (未整理版本)
    canvas学习笔记03:简单脉冲效果
    canvas学习笔记02:饼图&柱状图
    canvas学习笔记01:Math.sin & Math.cos
    java jdk 随机数阻塞问题
    家政/保洁 平台设计
    Lock和synchronized
    jvm 中java new 对象顺序
    Java 多线程原理
    java ftp上传下载,下载文件编码设置
  • 原文地址:https://www.cnblogs.com/zsb517/p/4628307.html
Copyright © 2011-2022 走看看