美文网首页
perl-four(2018-05-26)

perl-four(2018-05-26)

作者: 简单点lili | 来源:发表于2018-05-26 21:24 被阅读0次

    第四章和第五章先省略

    第六章 哈希

    先解释一下:

    哈希(以前称为关联数组)是一种数据结构,和数组的相似之处在于可以容纳任意多的值并且按需取用;

    两者的不同之处在于索引方式,数组使用数字来做索引,哈希却是以名字来做索引,

    哈希的索引值,称为键(key),并不是数字,可以是任意唯一的字符串。

    哈希没有顺序,有的只是键值对的集合。

    哈希的值可以是数字、字符串、undef这些类型的集合,但是哈希的键是唯一的字符串。

    1、访问哈希元素

    使用花括号,$hash{$some_key}

    2、访问整个哈希

    要指代全部哈希,使用%作为前缀。

    3、哈希赋值

    my %new_hash=%old_hash

    4、胖箭头(胖逗号)

    =>,在任何需要逗号隔开的地方也可以使用胖逗号。对perl来说没什么区别。

    一般来说,键都会比较简单的字符串,如果键是以字母、数字、下划线组成的,没有以数字开头,那么引号可以省略。这类无需引号的字符序列,我们称之为裸字。因为它是孤立存在的。

    还有一类可以省略引号的关键点是:在花括号中检索特定键名的元素时。

    5、哈希函数

    perl存在很多函数可以一次性处理整个哈希

    第一个:keys和values函数

    代码 输出

    keys函数返回哈希中的键列表,values函数返回哈希中对应的值列表。

    第二个:each函数

    如果需要迭代(逐项处理其中每一个元素)整个哈希,会使用到echo函数,它以包含两个元素的列表的形式返回键-值对;

    在实际的使用中,唯一适合使用each的地方就是while循环中;

    哈希会记得上次访问的位置,技术话来讲就是个哈希都有一个迭代器;

    如果要依次处理哈希,那么就要用到对键排序。

    第三个:exists函数

    检查哈希中是否存在某个键时,使用exists函数,返回真或者假,分别表示键存在与否,与对应的值无关。

    第四个:delete函数

    能删除哈希中指定的键和其对应的值,如果没有这样的键,那么他就会直接结束,而不会出现任何警告和错误信息。

    6、哈希元素内插

    将单一哈希元素内插但双引号引起的字符串中。但是不支持内插整个哈希。

    双引号需要反斜线转义的魔力字符:$和@,因为他们引入了一个perl将要内插的变量。

    7、%ENV哈希

    perl访问周围环境,就是访问%ENV哈希。

    比如,我们常常需要从%ENV中读取PATH的值;

    输入 输出

    相关文章

      网友评论

          本文标题:perl-four(2018-05-26)

          本文链接:https://www.haomeiwen.com/subject/gemmjftx.html