lua 函数 匿名函数


function testfun(tab, fun)
        for k, v in pairs(tab) do
                print(fun(k, v))
        end
end

tab = {key1 = "val1", key2 = "val2"};
testfun(tab, function(key, val)
        return key .. "=" .. val;
end
);

(学习网站说明:function 可以以匿名函数(anonymous function)的方式通过参数传递)

这里可能有点不好理解。

首先,定义了一个testfun函数,函数有两个参数。

然后就是,匿名函数;在调用testfun函数是,第二个参数是个匿名函数。

function(key, val)
        return key .. "=" .. val;
end

1.这个函数没有名称;

2.匿名函数的参数:key和val并没有定义;

3.匿名函数有自己的函数体:执行语句;

4.上面的匿名函数的返回值是提供给testfun里的print调用。

 

如上代码段,在对tab(表)数据进行输出时使用for循环语句,不需要事先定义k,v。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM