找回密码
 注册
查看: 3216|回复: 0

perl语言的大箭头符号(=>)

[复制链接]
发表于 2011-11-14 20:25:41 | 显示全部楼层 |阅读模式
当给hash 赋值时,有时并不明显哪些元素是keys,那些是values。例如,在下面的赋值中(我们在前面已经见过了),我
们需要仔细的计数,“key,value,key,value,…”,来判断2.5 是key 还是vlaue:
%some_hash = ( “foo”, 35, “bar”, 12.4 ,2.5, “hello”, “Wilma”, 1.72e30, “betty”, “bye\n”);
如果Perl 能提供一种方法,让我们轻易的辨别出哪一个是key,哪一个是value,那该有多好?Larry 也想过这个问题,因
此发明了大箭头符号(=>)◆。对于Perl 来讲,其作用和和逗号(,)类似,因此有时称作“胖逗号(fat comma)”。Perl 语法
中,在需要逗号(,)的时候,都可以使用大箭头符号替换;对于Perl 来讲,它们是一样的◆。下面是给hash 赋值的另一
种方法:
◆是的,还有小箭头(->)。它和引用一起使用,这是高级话题。如果你准备好了,可以参见perlreftut 和perlref 的帮助手册
◆它们在技术上还是有一点不同:任何大箭头符号(=>)左侧的bareword(由字母,数字,下划线,但不是由数字开头,前面有可选的
加号或减号,组成的序列)都暗含着由引号括起来了的。因此可以省略掉大箭头符号(=>)左侧bareword 上的引号。你也可以忽略掉hash
的花括号中的引号,如果里面只有作为key 的bareword.
my %last_name = (
“fred” => “flintstone”,
“dino” => undef,
“barney”=> “rubble”;
“betty”=> “rubble”,
);
上面代码中,很容易辨别出哪一个是key,哪一个是value。注意列表中最后一个逗号。我们早期讨论过,这个逗号是没什
么用的,但有时能给我们带来方便;如果我们要加入新的元素到hash 中,我们只需知道每一行都有key/value 对,结尾有
逗号。Perl 会查看不同元素之间的逗号,以及列表结尾处的逗号(此逗号非必需的)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 23:25 , Processed in 0.024932 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表