• 数组操作- 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";
    }
  • 相关阅读:
    文件与流之动手动脑
    四则运算1.1版
    2018年11月16日编程体会
    JAVA(1)之关于对象数组作形参名的方法的使用
    re模块 时间模块
    日志模块
    软件开发目录规范
    模块和包
    内置函数
    匿名函数
  • 原文地址:https://www.cnblogs.com/tjxwg/p/3310822.html
Copyright © 2020-2023  润新知