免费注册 查看新帖 |

Chinaunix

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

sort,map的特別用法... [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-08-09 22:15 |只看该作者

sort,map的特別用法...

[quote]原帖由 "lgjut"]http://www.effectiveperl.com/recipes/sorting.html[/quote 发表:
     

呵呵~~,写得很清楚

论坛徽章:
0
12 [报告]
发表于 2003-08-10 11:58 |只看该作者

sort,map的特別用法...

偶想问一个问题,是不是用一个sort/map就会产生一个新的数组?如果是这样,下面的程序产生了4个数组吧?

  1. 3.Schwartizian Transform:
  2. @sorted_name = map {$_->;[0] }# 取出原本的filename,产生第三个数组,结构为[filename]。赋值过程中,把该数组copy到@sorted_name中,实际产生了第四个数组吧?
  3. sort { $a->;[1] <=>; $b->;[1] }#--产生第二个数组(结构跟第一个数组一样,并且,依照modified_time去比大小)
  4. map { [$_,-M] } #--产生第一个数组,[filename,modified_time]
  5. @files; #----
复制代码

论坛徽章:
0
13 [报告]
发表于 2003-08-10 12:19 |只看该作者

sort,map的特別用法...

偶明白了,的确会产生数组。不过由于最右面的map用了"[]",所以只是一个reference,所以copy的工作量不会很大哦!

论坛徽章:
0
14 [报告]
发表于 2003-08-10 15:22 |只看该作者

sort,map的特別用法...

[quote]原帖由 "powerplane"][/quote 发表:
     


不是不是~~你可以认为只对这一个缺省的数组@_进行操作,没有产生4个数组

论坛徽章:
0
15 [报告]
发表于 2003-08-11 20:11 |只看该作者

sort,map的特別用法...

哦,那么在"="出现的地方会产生数组复制吗?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
16 [报告]
发表于 2003-08-12 18:12 |只看该作者

sort,map的特別用法...

事實上有兩個anonymous array在那裡面動作
只是我們只用他的ref,
第一個是map{[$_,-M]}@files;
這兒..第二個是sort{$a->;[1]<=>;$b->;[1]}
最後map{$_->;[0]}則是排序完後的新的array..
至於copy數量..當然不少..
光sort就copy很多次了..
map也有..

论坛徽章:
0
17 [报告]
发表于 2003-08-12 19:46 |只看该作者

sort,map的特別用法...

呵呵,我的意思是:
copy的数量多,但是copy的工作负荷不大,因为都是copy指针,不是整个字符串。如果字符。

论坛徽章:
0
18 [报告]
发表于 2013-01-17 17:32 |只看该作者
好帖如此之多。精华贴需要耐心看,比看书涨的快。

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
19 [报告]
发表于 2013-01-18 11:53 |只看该作者
哦,偶明白了,的确写得很清楚.

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00
20 [报告]
发表于 2013-01-22 14:23 |只看该作者
cat passwd| perl -e 'print map{$_->[0]}sort{$a->[1]<=>$b->[1]}map{[$_,(split /:/)[2]]}<>'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP