Ruby标准库Array方法详解
5星 · 超过95%的资源 需积分: 9 43 浏览量
更新于2024-07-27
收藏 1015KB DOC 举报
"这篇文档是关于Ruby编程语言的标准库,特别是对Array类的详细方法介绍。文档以中文呈现,适合Ruby开发和学习者参考。它列出了Array类的各种实例方法和类方法,包括但不限于数组的创建、操作、查找、排序等常见功能。"
在Ruby中,Array是一个非常重要的内置数据结构,用于存储有序的元素集合。这个文档详细地介绍了Array类的各种方法,可以帮助开发者理解和使用这些方法来处理数组。
1. Array类方法:
- `[]`:创建一个新的数组,可以接受变量参数或一个范围。
- `new`:创建一个空数组或者指定大小的填充数组。
2. Array实例方法:
- `&`:进行交集操作,返回两个数组的公共元素。
- `|`:进行并集操作,返回两个数组的所有不重复元素。
- `*`:重复合并数组,可以与数字结合表示重复次数。
- `+`:将两个数组连接在一起,形成新的数组。
- `-`:从一个数组中移除另一个数组中的元素,返回新数组。
- `<<`:在数组末尾添加元素。
- `<==>`:比较两个数组的大小,基于元素的自然顺序。
- `==`:检查两个数组是否相等,元素和顺序都要相同。
- `[]`:获取数组中指定索引的元素。
- `[]=`:设置数组中指定索引的元素。
- `assoc`:在哈希数组中查找匹配的键值对。
- `at`:获取数组中指定位置的元素。
- `clear`:清空数组的所有元素。
- `collect`/`map`:对数组的每个元素应用块,生成新的数组。
- `compact`:移除数组中的nil元素。
- `compact!`:移除数组中的nil元素,并修改原数组。
- `concat`:将一个或多个数组追加到当前数组。
- `delete`:删除数组中第一个匹配的元素。
- `delete_at`:根据索引删除数组中的元素。
- `delete_if`:删除满足条件的元素,修改原数组。
- `each`:遍历数组中的每个元素。
- `each_index`:遍历数组的索引。
- `empty?`:检查数组是否为空。
- `eql?`:检查两个数组的元素及其顺序是否完全相同。
- `fetch`:获取数组中指定索引的元素,如果不存在则可以抛出异常或返回默认值。
- `fill`:用指定的值填充数组的一部分或全部。
- `first`:返回数组的第一个元素。
- `flatten`:将嵌套的数组展开为一维数组。
- `include?`:检查数组是否包含特定元素。
- `index`:查找数组中首次出现特定元素的位置。
- `indexes`/`indices`:返回数组中所有元素在原数组中第一次出现的索引。
- `insert`:在指定位置插入一个或多个元素。
- `join`:将数组元素连接成字符串,可以指定分隔符。
- `last`:返回数组的最后一个元素。
- `length`:返回数组的元素个数。
- `map!`:对数组的每个元素应用块,直接修改原数组。
- `nitems`:返回数组中不为`nil`的元素数量。
- `pack`:将数组元素转换为二进制字符串。
- `pop`:移除并返回数组的最后一个元素。
- `push`:向数组末尾添加一个或多个元素。
- `rassoc`:在关联数组中查找匹配的值。
- `replace`:用新数组替换当前数组的内容。
- `reverse`/`reverse!`:反转数组,`reverse!`会修改原数组。
- `reverse_each`:反向遍历数组。
- `rindex`:查找数组中最后出现特定元素的位置。
- `shift`:移除并返回数组的第一个元素。
- `size`:返回数组的元素个数,与`length`相同。
- `slice`:根据索引或范围获取数组的一部分。
- `slice!`:根据索引或范围删除数组的一部分,并返回被删除的元素。
- `sort`/`sort!`:对数组元素进行排序,`sort!`会修改原数组。
- `to_a`:返回数组本身(通常用于兼容性)。
- `to_ary`:将对象转换为数组。
- `to_s`:将数组转换为字符串。
- `transpose`:将二维数组转置为多列数组。
- `uniq`/`uniq!`:移除数组中的重复元素,`uniq!`会修改原数组。
- `unshift`:在数组开头添加一个或多个元素。
- `values_at`:返回数组中指定索引对应的元素。
- `reject!`:删除满足条件的元素,修改原数组。
这个列表涵盖了Array类的大部分常用操作,是Ruby开发中不可或缺的参考资料。通过理解和熟练使用这些方法,开发者可以更高效地处理数组数据。
2012-07-23 上传
2019-08-15 上传
2021-05-23 上传
2021-05-25 上传
2021-06-15 上传
2021-01-30 上传
2021-04-06 上传
肖肖0523
- 粉丝: 363
- 资源: 4
最新资源
- OnlineBookstore:这是一个简单的在线书店项目
- 记录自己的Python ML and DPL学习经历.zip
- react_base:Projeto基本em react
- resume:我的履历库
- ACP:我在萨尔大学的一个名为“高级Coq编程”课程的项目。 我的工作仅限于Reflection.v和GeneralReflection.v文件,对PA.v和ZF.v进行了一些细微修改
- laravel-mbt_transfer
- publicfile:容器 >
- kazoo-braintree:Braintree簿记员
- 记录python学习用.zip
- plc与气压控制讲了气阀,气路原理以及用PLC的控制(基础,WORD文档).zip三菱PLC编程案例源码资料编程控制器应用通讯通
- 外部窗口菜单内码转换-易语言
- flexbox-course
- CAD Scripts-开源
- JSP 学生排课选课系统-毕业设计(源码+论文).rar
- SistAlCec-Eof
- idcard-iranian:诊断您的身份证是真还是假(对于伊朗人)===诊断身份证号码的正确性