zoukankan      html  css  js  c++  java
  • perl的array和map/hash

    一 array

    1)实例


    use strict;
    use warnings;

    my @myarray = (123,"hello", 456, 'guy');

    foreach(@myarray)
    {
        
    print "$_ " ;
    }
    print "\n";
    foreach my $item (@myarray)
    {
        
    print "$item " ;
    }
    print "\n";
    for(my $i = 0$i <scalar(@myarray); $i++)
    {
        
    print "$myarray[$i]" . " ";
    }
    print "\n";
    for(0..($#myarray))
    {
        
    print "$myarray[$_]" . " ";
    }
    print "\n";

    @myarray = (@myarray, 789);
    print "@myarray\n" ;
    push(@myarray,"gril");
    print "@myarray\n" ;
    unshift(@myarray, '000');
    print "@myarray\n" ;
    delete $myarray[1];
    print "@myarray\n" ;

    2)函数,如下:

    3)注释:

    1】使用@定义array,使用array的item时$array[n];

    2】使用scalar来获得array的size;

    3】$#获得最大的index,即size-1;

    4】$_在for和foreach中表示当前item;

    5】push/pop用来在array的最后加入和弹出item;

    6】shift/unshift用来在array的前面删除和插入item;

    7】split/john用来实现array和string间的转化;

    8】delete可以用来删除item,例如delete $myarray[1];

    二 map/hash

    1) 实例:


    use strict;
    use warnings;

    my %myhash = ('k1',100,'k2',200);
    # my %myhash = (k1=>100,k2=>200);
    print %myhash ;
    print "\n";
    $myhash{'k3'= 300;
    $myhash{'k4'= 400;
    print %myhash ;
    print "\n";

    foreach my $key (keys %myhash)
    {
        
    print $key . " indexes ".$myhash{$key}."\n";
    }
    foreach my $value (values %myhash)
    {
        
    print $value ."\n";
    }
    while((my $key, my $value)= each(%myhash))
    {
        
    print "$key indexes $value \n"
    }

    if(exists $myhash{'k1'}) {print "k1 is exist\n";}

    delete $myhash{'k1'};
    print %myhash ;
    print "\n" ;


    2)函数,如下:

    3)注释:

    1】%用来定义map/hash;
    2】对单个的key赋值是使用$,例如$myhash{'k3'} = 300;
    3】keys获得所有的keys到array;
    4】values获得所有的values到array;
    5】迭代,每次返回一对key/value;
    6】exists用来判断某个key是否存在;
    7】delete用来删除指定的key,同时对应的value也被删除;

    三 总

    Array Functions
    @array = ( ); Defines an empty array
    @array = (“a”, “b”, “c”); Defines an array with values
    $array[0] The first element of @array
    $array[0] = a; Sets the first element of @array to a
    @array[3..5] Array slice - returns a list containing the 3rd thru 5th
    elements of @array
    scalar(@array) Returns the number of elements in @array
    $#array The index of the last element in @array
    grep(/pattern/, @array) Returns a list of the items in @array that matched
    /pattern/
    join(expr, @array) Joins @array into a single string separated by expr
    push(@array, $var) Adds $var to @array
    pop(@array) Removes last element of @array and returns it
    reverse(@array) Returns @array in reverse order
    shift(@array) Removes first element of @array and returns it
    sort(@array) Returns alphabetically sorted @array
    sort({$a<=>$b}, @array) Returns numerically sorted @array
    Hash Functions
    %hash = ( ); Defines an empty hash
    %hash = (a => 1, b=>2); Defines a hash with values
    $hash{$key} The value referred to by this $key
    $hash{$key} = $value; Sets the value referred to by $key
    exists $hash{$key} True if the key/value pair exists
    delete $hash{$key} Deletes the key/value pair specified by $key
    keys %hash Returns a list of the hash keys

    values %hash Returns a list of the hash values 

    完!


    作者:iTech
    微信公众号: cicdops
    出处:http://itech.cnblogs.com/
    github:https://github.com/cicdops/cicdops

  • 相关阅读:
    爬虫1:get请求的翻页及思考
    Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG
    理解RESTful架构(转)
    vue-devtools(vue 2.0)手动安装与使用 ? 如何处理Vue.js is detected on this page ?
    小程序开放更多连接能力
    vscode 开发工具
    video 在微信中,安卓全屏和ios上如何内联播放?H5同层播放器相关接入规范
    微信小程序<web-view>嵌入网页后,小程序如何和网页交互传值?
    SpringCloud(三) 微服务架构-微服务稳定性
    SpringCloud(二) 微服务架构-服务注册与发现
  • 原文地址:https://www.cnblogs.com/itech/p/1694091.html
Copyright © 2011-2022 走看看