首页 perl_引用符号

perl_引用符号

举报
开通vip

perl_引用符号perl_引用符号 -> 有两种用法,都和解引用有关。 第一种用法,就是解引用。 根据 -> 后面跟的符号的不同,解不同类型的引用, ->[] 表示解数组引用,->{} 表示解散列引用,->() 表示解子程序引用。 例子: $arr_ref = /@array; $arr_ref->[0] 访问数组 @array 的第一个元素。 $hash_ref = /%hash; $hash_ref->{foo} 访问 %hash 的 foo 分量 $sub_ref = /&test; $sub_ref->...

perl_引用符号
perl_引用符号 -> 有两种用法,都和解引用有关。 第一种用法,就是解引用。 根据 -> 后面跟的符号的不同,解不同类型的引用, ->[] 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示解数组引用,->{} 表示解散列引用,->() 表示解子程序引用。 例子: $arr_ref = /@array; $arr_ref->[0] 访问数组 @array 的第一个元素。 $hash_ref = /%hash; $hash_ref->{foo} 访问 %hash 的 foo 分量 $sub_ref = /&test; $sub_ref->(1, 2, 3) 使用参数列表 (1,2,3) 来调用 &test 这个子程序。 第二种用法,就是调用类或者对象的方法。 格式: $obj->method(); 或者 ClassName->method(); 例如: $pop3->login( $username, $password ); my $ftp = Net::FTP->new("some.host.name", Debug => 0); 这两种用法略有不同, 但是总的来说,符合以下规则: 引用:[color=red]假设 -> 的左操作数(就是左边那个值,如 $pop3 和 Net::FTP)是 $left,右操作数(就是右边那个值,如 login 和 new)是 $right, -> 的运算规则就是: 那么 if ( ref $left 有效 ){ # 也就是说 $left 是个引用,而不是个裸字 $ClassName = ref $left; # 取引用的类型,当作类名称 } else{ $ClassName = $left; # 直接把裸字当作类名称 } 然后调用: &{$ClassName::$right}( $left, 原参数列表 ) 也就是说把类名称和右操作数拼在一起,当作子程序名称(注),并把左操作数当作第一个参数。 注:Perl 解释器要做的工作其实要比这复杂,它还要考虑到继承的问题。 =>作用 当给 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 也想过这个问题,因此发明了大箭头符号(=>)?。对 “ 胖逗号(fat 于 Perl 来讲,其作用和和逗号(,)类似,因此有时称作 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 会查看不同元素之间的逗号,以及列表结尾处的逗号(此逗号 非必需的)。
本文档为【perl_引用符号】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:14KB
软件:Word
页数:0
分类:工学
上传时间:2017-09-29
浏览量:10