免费注册 查看新帖 |

Chinaunix

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

{$a<=>$b}在引用中的使用,请看看我正文的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-02 18:58 |只看该作者 |倒序浏览
@employees = (
    { FIRST =>; 'Bill',   LAST =>; 'Gates',     
      SALARY =>; 600000, AGE =>; 45 },
    { FIRST =>; 'George', LAST =>; 'Tester'     
      SALARY =>;  55000, AGE =>; 29 },
    { FIRST =>; 'Steve',  LAST =>; 'Ballmer',   
      SALARY =>; 600000, AGE =>; 41 }
    { FIRST =>; 'Sally',  LAST =>; 'Developer',
      SALARY =>;  55000, AGE =>; 29 },
    { FIRST =>; 'Joe',    LAST =>; 'Tester',   
      SALARY =>;  55000, AGE =>; 29 },
);
sub seniority {
    $b->{SALARY}     <=>  $a->{SALARY}
    or $b->{AGE}     <=>  $a->{AGE}
    or $a->{LAST}    cmp  $b->{LAST}
    or $a->{FIRST}   cmp  $b->{FIRST}
}

--------------------------
$a<=>$b;
$hash{$a}<=>$hash{$b};
上面两种写法理解,但是:偶无法理解$b->{SALARY}这种写法。看了下大骆驼相关知识,似乎没有详细讲这个写法,谁能帮解释下,谢谢了!

论坛徽章:
0
2 [报告]
发表于 2008-01-02 19:03 |只看该作者

如果你都没明白,就拿来用,不是夸张了
这里不在于写法,在于$a<=>$b究竟是怎么解释的……
汗,你在看看关于这个的吧
还有精华里有个 兰花仙子 写的sort,你看看吧

论坛徽章:
0
3 [报告]
发表于 2008-01-02 21:32 |只看该作者
我上面的例子就是兰花仙子关于SORT一篇中看到的!大骆驼中似乎没有对$a<=>$b给出一个详细的解释阿~

论坛徽章:
0
4 [报告]
发表于 2008-01-02 21:43 |只看该作者
原帖由 windows.li 于 2008-1-2 21:32 发表
大骆驼中似乎没有对$a$b给出一个详细的解释阿~

______


论坛徽章:
0
5 [报告]
发表于 2008-01-02 21:59 |只看该作者
放驴娃--真邪恶~

-----------
我看了大骆驼中SORT函数相关内容,目前没有真正理解$a<=>$b的内在含义。

论坛徽章:
0
6 [报告]
发表于 2008-01-02 22:19 |只看该作者
没事干多看书,少问。
我看你对 Perl 也是比较感兴趣的 ID 之一,
我有你这么长时间的时候,早就融会贯通了。
耐心把大骆驼前十三章看完,就轮到你天天在这里给别人回答问题了。
简单的路就一条,偏偏不走,真不知道你们都怎么想的。

论坛徽章:
0
7 [报告]
发表于 2008-01-02 22:21 |只看该作者
告诉你,你的问题在第三章,章目标题写得那么清楚,不知道你是不愿意看还是故意跑这里来忽悠大家的。

论坛徽章:
0
8 [报告]
发表于 2008-01-02 22:24 |只看该作者
给你打个比方,就好比上地七路有个公共的金矿,金子随便拣,而且的确有很多人在拣了,
你却还在五道口乞讨。

论坛徽章:
0
9 [报告]
发表于 2008-01-03 11:11 |只看该作者
抱歉,我平时没有集中的时间看书!通宵又对身体不好~~遗憾!半个月内偶不在PERL版发帖了

论坛徽章:
0
10 [报告]
发表于 2008-01-05 11:23 |只看该作者
原帖由 windows.li 于 2008-1-2 18:58 发表

--------------------------
$a$b;
$hash{$a}$hash{$b};
上面两种写法理解,但是:偶无法理解$b->{SALARY}这种写法。看了下大骆驼相关知识,似乎没有详细讲这个写法,谁能帮解释 ...



my @employees = (
    { FIRST => 'Bill',   LAST => 'Gates',     
      SALARY => 600000, AGE => 45 },
    { FIRST => 'George', LAST => 'Tester'  ,   
      SALARY => 55000, AGE => 29 },
    { FIRST => 'Steve',  LAST => 'Ballmer',   
      SALARY => 600000, AGE => 41 },
    { FIRST => 'Sally',  LAST => 'Developer',
      SALARY =>  55000, AGE => 29 },
    { FIRST => 'Joe',    LAST => 'Tester',   
      SALARY =>  55000, AGE => 29 },
);

数组@employees 中存的是匿名hash引用

所以在排序子函数中直接解引用。

[ 本帖最后由 CU_wanglijun 于 2008-1-5 12:35 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP