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";
    }
  • 相关阅读:
    并发与并行
    cgi fastcgi
    阻塞和非阻塞,同步和异步
    PHP常量
    nginx入门(4):FastCGI代理
    fastjson实体转json顺序不一致问题
    vue在一个方法执行完后再执行另一个方法
    如何搭建一个vue项目(完整步骤)
    什么是Node.js?
    Android学习记录---在子线程中使用组件ui会报错
  • 原文地址:https://www.cnblogs.com/tjxwg/p/3310822.html
Copyright © 2011-2022 走看看