{$a<=>$b}在引用中的使用,请看看我正文的问题!

{$a<=>$b}在引用中的使用,请看看我正文的问题!



QUOTE:
@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}这种写法。看了下大骆驼相关知识,似乎没有详细讲这个写法,谁能帮解释下,谢谢了!

如果你都没明白,就拿来用,不是夸张了
这里不在于写法,在于$a<=>$b究竟是怎么解释的……
汗,你在看看关于这个的吧
还有精华里有个 兰花仙子 写的sort,你看看吧
我上面的例子就是兰花仙子关于SORT一篇中看到的!大骆驼中似乎没有对$a<=>$b给出一个详细的解释阿~


QUOTE:
原帖由 windows.li 于 2008-1-2 21:32 发表
大骆驼中似乎没有对$a$b给出一个详细的解释阿~

______


放驴娃--真邪恶~

-----------
我看了大骆驼中SORT函数相关内容,目前没有真正理解$a<=>$b的内在含义。
没事干多看书,少问。
我看你对 Perl 也是比较感兴趣的 ID 之一,
我有你这么长时间的时候,早就融会贯通了。
耐心把大骆驼前十三章看完,就轮到你天天在这里给别人回答问题了。
简单的路就一条,偏偏不走,真不知道你们都怎么想的。
告诉你,你的问题在第三章,章目标题写得那么清楚,不知道你是不愿意看还是故意跑这里来忽悠大家的。
给你打个比方,就好比上地七路有个公共的金矿,金子随便拣,而且的确有很多人在拣了,
你却还在五道口乞讨。
抱歉,我平时没有集中的时间看书!通宵又对身体不好~~遗憾!半个月内偶不在PERL版发帖了


QUOTE:
原帖由 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引用

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