免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3865 | 回复: 2
打印 上一主题 下一主题

大家对这个程序怎么看?谁能帮忙用 ruby、python 实现一下,看看结果? [复制链接]

论坛徽章:
0
1 [报告]
发表于 2007-09-21 09:52 |显示全部楼层
这里好有意思啊,今天在perl下测试,是这个结果
0A,1B,2C,3D,
这里闭包的使用,感觉像$F和$G引用了不同的块
而且。。为什么一个是数字,一个是字母
往高手赐教

论坛徽章:
0
2 [报告]
发表于 2007-09-21 11:23 |显示全部楼层
原帖由 ouyangyu139 于 2007-9-21 11:08 发表
为什么我的结果是:
AB,CD,EF,GH,
没有1,2,3,等数字

你确定是copy一楼的程序吗?如果这样还真就麻烦了
还有,可以直接调用f->(),不需要申明F
当然,我这里的结果和用F是一样的

感觉closure越看越危险啊。。。

论坛徽章:
0
3 [报告]
发表于 2007-09-21 14:39 |显示全部楼层

回复 #10 royalzhang 的帖子

饿。。。只能说大致理解了意思
内部传递时,中间“空”传递了一次
竟然就没被识别为'A',成为未初始化的。。默认成为0
而且编译也就顺利通过了,真诡异,实际上说来,f的调用并没有对外层的$x产生影响,也就失去了闭包的价值?
虽然说,外层有$x的申明,内层才能使用$x,但是。。。却能自己记录自己的1,2,3
那是不是说f->()里面的$x被识别为f{}里面的$x了,所以g不可见,所以,f和g分别有自己的$x
感觉还是不太懂啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP