加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl的array和map/hash

发布时间:2020-12-16 00:16:40 所属栏目:大数据 来源:网络整理
导读:? 一 array 1)实例 use ?strict; use ?warnings; my ? @myarray ? = ?( 123 , " hello " , ? 456 , ? ' guy ' ); foreach ( @myarray ) { ???? print ? " $_? " ?; } print ? " n " ; foreach ? my ? $item ?( @myarray ) { ???? print ? " $item? " ?; }

?

一 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 ? " @myarrayn " ?;
push ( @myarray , " gril " );
print ? " @myarrayn " ?;
unshift ( @myarray , ? ' 000 ' );
print ? " @myarrayn " ?;
delete $myarray[1];
print "@myarrayn" ;

?

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?existn " ;}

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?

?

完!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读