zoukankan      html  css  js  c++  java
  • perl 中的引用

    perl 语言中的引用共分为两类:

    声明引用时只需要在对象的前面加上反斜杠

    第一列是数组的引用:

    代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;

    第二种是哈希的引用

    代码示例:

    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;

    通过引用去访问对应的值,通过 -> 操作符

    数组的引用, 通过 [ ] 中括号 加上对应的下标,代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;
    print $array_ref->[0];

    哈希的引用,通过{}  大括号加上对应的key,代码示例:

    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;
    print $array_ref->{1};

    当我们想要把引用对应的变量传递给另外一个变量时,就需要解引用,使用 { } 大括号

    代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;
    my @array_new = @{$array_ref};
    
    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;
    my %hash_new = %{$hash_ref};

    数组的引用通过 @ 符号 , 哈希的引用通过 % 符号;

    引用实际上存储的是所引用对象的地址,举个例子

    perl -e 'my @a = (1, 2, 3, 4);my $b = @a;print qq{$b
    };'
    ARRAY(0x122bae8)
    
    
    perl -e 'my %a = (1, 2, 3, 4);my $b = \%a;print qq{$b
    };'
    HASH(0x262dae8)

    从上述代码的运行结果可以看出,数组的引用对应的值是 ARRAY+ 地址,哈希的引用是HASH+ 地址,这里的地址是一个16进制的值

    除了使用 符号, 声明一个引用外,还可以声明一个匿名引用, 数组的引用使用 [  ] 操作符, 哈希的引用使用 {  } 操作符;

    代码示例:

    my $array_ref = [1, 2, 3, 4];
    my $hash_ref  = {1, 2, 3, 4}
    
    print $array_ref->[0];
    print $hash_ref->{1};
  • 相关阅读:
    CSS基础
    AXIS2 开发笔记
    Tomcat和Weblogic下ajax或get中文乱码
    Jetty和Tomcat的选择:按场景而定
    分页
    windows linux 下,获取java项目绝对路径的方法
    oracle SQL
    ArrayUtils
    Xcode 调试技巧
    Core Data持久化数据存储(1)
  • 原文地址:https://www.cnblogs.com/xudongliang/p/7059849.html
Copyright © 2011-2022 走看看