免费注册 查看新帖 |

Chinaunix

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

mlists一位大侠对上下文概念的阐述 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
21 [报告]
发表于 2008-01-25 11:57 |只看该作者
其实语言就是这样..接不接受看自己...

shhgs不接受的话..也没差..

但是你在这里一直讲..人家就会觉得你很烦...就算你有道理..久了也就会被认为没道理了...

我认为你讲的很有道理...
,reserve(), 与 . reserve() .   这种写法..本来就很容易让人混淆...我从来不会这麽写程序..

只是我只当perl是我解决问题的工具...不是要拿来膜拜的对象...

语言有问题是很正常的...全世界哪种语言没问题?如果没问题..为什麽还要出新版本..

大家请继续...

论坛徽章:
0
22 [报告]
发表于 2008-01-28 12:16 |只看该作者
原帖由 shhgs 于 2008-1-25 11:43 发表


好像这就是我说的,强迫你接受Larry的想法。但问题是,他的想法对吗?


[ 本帖最后由 hitsubunnu 于 2008-1-28 13:34 编辑 ]

论坛徽章:
0
23 [报告]
发表于 2008-01-28 13:36 |只看该作者
这个问题说是上下文的问题,不如说是reverse的问题。reverse确实是设计得不好的一个函数。

反转一个字符串和反转一个LIST本身就是两种不同的操作,非要用一个函数来示。

这也罢了,而且更怪的是做哪种操作不是由参数来决定的,而是由所要求的返回值来决定的。

[ 本帖最后由 orangetouch 于 2008-1-28 16:32 编辑 ]

论坛徽章:
0
24 [报告]
发表于 2008-01-29 11:21 |只看该作者
原帖由 shhgs 于 2008-1-25 11:43 发表


好像这就是我说的,强迫你接受Larry的想法。但问题是,他的想法对吗?




此人人品有问题,鉴定完毕!

非常同意apile的看法。
:wink:

论坛徽章:
0
25 [报告]
发表于 2008-01-29 13:28 |只看该作者
原帖由 orangetouch 于 2008-1-28 13:36 发表
这个问题说是上下文的问题,不如说是reverse的问题。reverse确实是设计得不好的一个函数。

反转一个字符串和反转一个LIST本身就是两种不同的操作,非要用一个函数来示。

这也罢了,而且更怪的是做哪种操作 ...



能讲这话的Perler不多。人品没问题。

不过你还是没搞懂上下文。根据返回值决定函数的实现,也是上下文的一种形式。

至于上下文到底是什么。Sorry,真是讲不清楚。连Randy Shawtz在Learning Perl里面都说没人能讲清楚,你也就不用追根寻底了。如果有谁想追问上下文到底是什么。我倒是可以给你预测一下你将得到的答案。Perler权威先万分鄙视地给你一个半瓶醋的鉴定,再华丽地ignore你。然后,兴高采烈地宣称,这东西很容易,很清楚,很explicit,很符合人类理性,很Perl。

[ 本帖最后由 shhgs 于 2008-1-29 13:51 编辑 ]

论坛徽章:
0
26 [报告]
发表于 2008-01-29 13:33 |只看该作者
原帖由 afoxwwk 于 2008-1-29 11:21 发表




此人人品有问题,鉴定完毕!

非常同意apile的看法。
:wink:



病人姓名: afoxwwk
症状: 高度妄想狂
诊断意见: 不能出院

医生签名: shhgs

论坛徽章:
0
27 [报告]
发表于 2008-05-08 16:02 |只看该作者
这不是很简单么?
@stray=qw(thank you);
@stray=reverse(@stray); // reverse 处于list上下文下,是将列表中的各项的顺序倒置,得到 you thank
printf("@stray"); // 输出you thank
printf("\n".reverse(@stray)."\n"); reverse 处于scalar上下文下,是将you thank 先转换为字符串再将字符串倒置,得到knahtuoy。

论坛徽章:
0
28 [报告]
发表于 2008-05-08 19:27 |只看该作者
原帖由 shhgs 于 2008-1-29 13:28 发表



能讲这话的Perler不多。人品没问题。

不过你还是没搞懂上下文。根据返回值决定函数的实现,也是上下文的一种形式。

至于上下文到底是什么。Sorry,真是讲不清楚。连Randy Shawtz在Learning Perl里面 ...

你懂个猫啊

论坛徽章:
0
29 [报告]
发表于 2008-10-28 16:37 |只看该作者
原帖由 nm_0011 于 2008-5-8 16:02 发表
这不是很简单么?
@stray=qw(thank you);
@stray=reverse(@stray); // reverse 处于list上下文下,是将列表中的各项的顺序倒置,得到 you thank
printf("@stray"); // 输出you thank
printf("\n".reverse(@stray)."\n"); reverse 处于scalar上下文下,是将you thank 先转换为字符串再将字符串倒置,得到knahtuoy。

正解

论坛徽章:
0
30 [报告]
发表于 2010-08-02 21:50 |只看该作者
学习了,
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP