引用
发布时间:2020-12-16 00:21:38 所属栏目:大数据 来源:网络整理
导读:-- Start 什么是引用 引用相当于 C 语言中的指针,存储的是内存地址。引用可以指向标量,数组,hash,函数等。 创建和使用引用 使用反斜杠()来创建引用,下面是一个简单的例子。 #!/usr/bin/perl# 常量的引用my $nameRef = "尚波";print "我叫$$nameRefn"
-- Start 什么是引用引用相当于 C 语言中的指针,存储的是内存地址。引用可以指向标量,数组,hash,函数等。 创建和使用引用使用反斜杠()来创建引用,下面是一个简单的例子。 #!/usr/bin/perl # 常量的引用 my $nameRef = "尚波"; print "我叫$$nameRefn"; # 简单变量的引用 my $name = "尚波"; my $nameRef = $name; print "我叫${$nameRef}n"; # 匿名数组的引用 my $namesRef = ["李四","王五"]; print "我的同学:@$namesRefn"; # 数组的引用 my @names = ("李四","王五"); my $namesRef = @names; print "我的同学:$$namesRef[0] 和 $namesRef->[1]n"; # 访问元素的形式有两种 # 匿名散列的引用 my $nameForAge = {"李四" => 18,"王五" => 19}; print "我的同学的年龄:",values %$nameForAge,"n"; # 散列的引用 my %nameForAge = {"李四" => 18,"王五" => 19}; my $nameForAgeRef = %nameForAge; print "我的同学的年龄:$$nameForAge{'李四'} 和 $nameForAge->{'王五'}n"; # 访问元素的形式有两种 # 匿名函数的引用 my $functionRef = sub {print "testn";}; &$functionRef; # 函数的引用 sub myPrint{print "testn";} my $functionRef = &;myPrint; $functionRef->(); 判断引用类型如果一个函数从外部接收一个引用,我们需要判断出引用指向的原始数据类型,ref() 函数提供了这样的功能,下面是一个简单的例子。 #!/usr/bin/perl my $name = "尚波"; my $type = ref($name); if ($type eq "SCALAR") { print '$name 引用了一个标量'; } elsif ($type eq "ARRAY") { print '$name 引用了一个数组'; }elsif ($type eq "HASH") { print '$name 引用了一个散列'; }elsif ($type eq "CODE") { print '$name 引用了一个函数'; }elsif ($type eq "REF") { print '$name 引用了一个引用'; }elsif ($type eq "GLOB") { print '$name 引用了一个类型通配'; }else { print '我也不知道引用了什么'; } ? -- 更多参见:Perl 精萃 -- 声 明:转载请注明出处 -- Last Updated on 2012-07-06 -- Written by ShangBo on 2012-07-06 -- End (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |