zoukankan      html  css  js  c++  java
  • 数组操作- reverse sort each 操作

    • reverse

    reverse 操作符会读取列表(也可能来自数组),并按相反的次序返回该列表。

    @fred = 6 .. 10;
    @barney = reverse(@fred);     # 得10,9,8,7,6
    @wilma  = reverse 6 .. 10;    # 同上,但不需要额外的数组
    @fred = reverse @fred ;       # 将逆序后的结果放回原来的数组

    reverse会返回次序相反的列表,但它并不会修改传进来的参数。
    假如返回值无处可去,那这种操作也就变得毫无意义:

    reverse @fred;              #错误   不会修改@fred的值
    @fred = reverse  @fred;     #这才正确
    • sort 操作符

      sort操作符会读取列表的值(可也能来自数组),而且会根据内部的字符编码顺序对它们进行排序。
    @rocks  = qw/ bedrock slate rubble granite/;
    @sorted = sort(@rocks);           # bedrock granite rubble slate
    @back   = reverse sort @rocks ;   # 将排序从slate到bedrock排列
    @rocks  = sort @rocks;            # 将排序后的结果存到@rocks
    @numbers= sort 97 .. 102;         # 得100,101,102,97,98,99

    sort 和reverse 一样不会修改参数,所以对数组排序时,你必须将排序后的结果保存回数组。

    • each 操作符

    从perl 5.12版开始,已经可以针对数组使用each操作符了。但在此前,each只能用于提取哈西键值对。
    针对数组调用each,会返回数组中下一元素所对应的两个值,该元素的索引以及该元素的值

    use 5.012;
    my @rocks= qw /bedrock slate rubble granite/;
    while(my($index,$value) = each @rocks){
        say "$index:$value";
    }
  • 相关阅读:
    Linux内核等待队列机制介绍
    对数学的思考
    Linux 进程状态
    linux内核链表
    linux内核的经典书籍
    似乎最近发的Blog又少了
    抽象——放弃细节的另外一个说法
    成长
    发现QQ的一个小问题
    放上了一篇几个月前写的东西
  • 原文地址:https://www.cnblogs.com/tjxwg/p/3310822.html
Copyright © 2011-2022 走看看