• reverse

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

@fred =  .. ;
@barney = reverse(@fred); # 得10,9,8,7,6
@wilma = reverse .. ; # 同上,但不需要额外的数组
@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 .. ; # 得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";
}

数组操作- reverse sort each 操作的更多相关文章

  1. Java基础(5):试用Array类对数据进行操作(Sort和toString方法)

    Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等 1. 排序 语法:  Arrays.sort(数 ...

  2. JavaScript面试技巧之数组的一些不low操作

    本文主要从应用来讲数组api的一些骚操作; 如一行代码扁平化n维数组.数组去重.求数组最大值.数组求和.js排序.对象和数组的转化等: 上面这些应用场景你可以用一行代码实现? 1.扁平化n维数组 1. ...

  3. MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))

    目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...

  4. 通过数组和枚举简化GPIO操作编码

    在工作中,经常遇到大量使用GPIO作为数字量输入输出来控制设备或采集状态,每次定义操作不同的GPIO针脚既麻烦又容易出错,于是就想要简化操作过程.对于数字量输入来说就是采集对应针脚的状态:而输出则是根 ...

  5. 树状数组区间加法&区间求和操作

    树状数组区间加法&区间求和操作 一般的树状数组解决区间加&单点询问并不复杂 但是要解决区间求和... 我们假设原数组是\(\{a_i\}\),差分数组\(\{d_i=a_i-a_{i- ...

  6. 通过数组和枚举简化GPIO操作编码(转)

    源: 通过数组和枚举简化GPIO操作编码

  7. 数组进行多少次OP操作,才干有序

    1 题目描写叙述: 有一个数组:2,1,4,3.对于数组,有一种操作op(idx):将该index相应的数字移到首位.比方: op(3):  2 1 43 -> 3 2 1 4 op(1):   ...

  8. 谈谈Python中列表、元组和数组的区别和骚操作

    一.列表(List) 1.列表的特点 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔.如 L = [1,2,3], 列表a有3个成员. 列表是可变的数据类型[可进行增删改查],列表中可以包 ...

  9. iOS数据库操作之coredata详细操作步骤

    CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...

随机推荐

  1. Unity-layermask的问题

    using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { priva ...

  2. 一个Tomcat及一个ip,绑定不同的域名,各个域名访问各自不同应用程序的配置方法

    http://nickandmiles.blog.163.com/blog/static/23422123201110151492166/ 条件是:这样一种实际情况是,就一台服务器,当公网的IP地址也 ...

  3. 前端开发者应当了解的 Web 缓存知识

    缓存优点 通常所说的Web缓存指的是可以自动保存常见http请求副本的http设备.对于前端开发者来说,浏览器充当了重要角色.除此外常见的还有各种各样的代理服务器也可以做缓存.当Web请求到达缓存时, ...

  4. Java中json工具对比分析

    Java中几个json工具分析 1, 环境 JDK1.6+IDE(IntelliJ IDEA)+windowsXP+GBK编码 2,分析对象 jackson1.8.2 http://jackson.c ...

  5. java_method_readFile读取文件文本xls

    package cn.com.qmhd.tools; import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...

  6. 找不到这个cache.properties缓存文件

    Android  Studio在导入第三库同步时报错: C:\Users\Administrator\.gradle\caches\2.4\scripts\asLocalRepo88_4u65z0u2 ...

  7. c#基础语言编程-序列化

    引言 程序员在编写应用程序的时候往往要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯.这个将程序数据转化成能被存储并传输的格式的过程被称为" ...

  8. 20169210《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...

  9. StrutsPrepareAndExecuteFilter(转)

    http://www.iteye.com/topic/829843  一.概述 Struts2的核心是一个Filter,Action可以脱离web容器,那么是什么让http请求和action关联在一起 ...

  10. CMake高速入门

    入门基础:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/       在 linux 下使用 CMake 构建应用程序 入门进阶:http ...