免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234567
最近访问板块 发新帖
楼主: __BlueGuy__
打印 上一主题 下一主题

[函数] 纪念我的第一个Lua程序 [复制链接]

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
61 [报告]
发表于 2012-10-20 22:17 |只看该作者
回复 54# starwing83

("binary" and write_binary or write_text) (
function(write_short, write_byte)
    write_short(#res)
    for i, v in ipairs(res) do
        write_short(#v)
        for i, v in ipairs(v) do
            write_byte(v)
        end
    end
end)

这一段代码我看不懂啊, 是闭包吗??
   

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
62 [报告]
发表于 2012-10-20 22:41 |只看该作者
回复 12# pmerofc

Lua、Perl是不学不行,(界面用的 Lua, 日志分析用的是 Perl )

Lisp 对我来说毫无实用价值,估计这辈子都不会学习了。。。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
63 [报告]
发表于 2012-10-20 23:03 |只看该作者
回复 61# __BlueGuy__


    这段是说,如果"binary"为真,就调用write_binary函数,否则调用write_text函数,调用这个函数的参数是另外一个(匿名函数),这个函数接受两个函数作为参数,第一个输出short值,第二个输出byte值。

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
64 [报告]
发表于 2012-10-20 23:06 |只看该作者
回复 63# starwing83

函数指针对吗?   

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
65 [报告]
发表于 2012-10-20 23:09 |只看该作者
回复 64# __BlueGuy__


    差不多,不过没指针那么简单。函数本身就是object,和表同级的,可以带自己的状态。比如这样:

  1. local function gencount(cnt)
  2.    return function()
  3.        local old = cnt
  4.        cnt = cnt + 1
  5.        return old
  6.    end
  7. end
复制代码
这样的函数,返回的那个并不仅仅是指针,它还持有外界的一个变量(cnt)的一个引用。这一点是Lua的精髓(之一),即词法作用域,产生的后果被称为“闭包”。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
66 [报告]
发表于 2012-10-21 08:22 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
67 [报告]
发表于 2012-10-21 11:20 |只看该作者
回复 66# pmerofc

单弄一本像样的入门书一个星期都拿不下来...

我当年学 c 的时候可是用了3个月才弄了一本入门书
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP