Ruby中数组的一些相关使用方法

Ruby数组是有序的,任何对象的??整数索引的集合。每个数组中的元素相关联,并提到的一个索引。

数组下标从0开始,如C或Java。负数索引假设数组末尾---也就是说,-1表示最后一个元素的数组索引,-2是数组中最后一个元素的下一个元素等等。

Ruby的数组可以容纳对象,如字符串,整数,长整数,哈希,符号,甚至其他Array对象。Ruby数组没有在其他语言中数组一样严格。Ruby数组自动增长同时增加元素。
创建数组:

有许多方法来创建或初始化一个数组。一种方式是 new 类方法:

names = Array.new

可以设置一个数组的大小,在数组创建的时候:

names = Array.new(20)

数组 names 现在有20个元素的大小或长度。您可以返回一个数组的大小尺寸或长度的方法:

#!/usr/bin/ruby

names = Array.new(20)
puts names.size # This returns 20
puts names.length # This also returns 20

这将产生以下结果:

20
20

可以指定一个值数组中的每个元素如下:

#!/usr/bin/ruby

names = Array.new(4, "mac")

puts "#{names}"

这将产生以下结果:

macmacmacmac

还可以使用用new块,块会计算填充每个元素:

#!/usr/bin/ruby

nums = Array.new(10) { |e| e = e * 2 }

puts "#{nums}"

这将产生以下结果:

024681012141618

还有另一种方法,数组,[]。它的工作原理是这样的:

nums = Array.[](1, 2, 3, 4,5)

另一种形式的数组创建如下:

nums = Array[1, 2, 3, 4,5]

内核模块Ruby的核心,有一个数组的方法,只接受一个参数。这里的方法范围内创建一个数组的数字作为参数:

#!/usr/bin/ruby

digits = Array(0..9)

puts "#{digits}"

这将产生以下结果:

0123456789

数组内置的方法:

我们需要有Array对象调用数组方法的一个实例。正如我们所看到的,下面是Array对象的方式来创建一个实例:

Array.[](...) [or] Array[...] [or] [...]

这将返回一个新数组填充给定的对象。现在使用创建的对象,我们可以调用任何可用实例方法。例如:

#!/usr/bin/ruby

digits = Array(0..9)

num = digits.at(6)

puts "#{num}"

这将产生以下结果:

6

例如:

试试下面的例子来收集各种数据。

a = [ "a", "b", "c" ]
n = [ 65, 66, 67 ]
puts a.pack("A3A3A3")  #=> "a b c "
puts a.pack("a3a3a3")  #=> "a\000\000b\000\000c\000\000"
puts n.pack("ccc")   #=> "ABC"

这将产生以下结果:

a b c
abc
ABC
(0)

相关推荐

  • 使用Ruby实现简单的事物驱动的web应用的教程

    简介 对 Web 应用程序来讲,自动化的集成测试是一个非常重要的部分, 然而由于这些测试用例太依赖具体的 Web 页面的实现细节,这就给编写和维护带来的很大的挑战. 通常来讲有两种方法可以生成 Web 应用程序测试用例. 手工编写脚本:测试人员需要知道 Web 页面上有哪些表单.输入框.选择框.按钮等,以及这些表单元素的名称,ID 等属性,然后才能利用一些工具来编写测试用例.     通过工具录制生成:比如 IBM Rational Functional Tester 就提供了录制用户在 Web

  • 利用RJB在Ruby on Rails中使用Java代码的教程

    开始之前 关于本教程 Ruby on Rails (Rails) 是用 Ruby 编写的一个 full-stack Web 应用程序框架,而 Ruby 是一种功能丰富的.免费的.可扩展的.可移植的.面向对象的脚本编制语言.Rails 在 Web 应用程序开发人员之间非常流行.通过它,可以快速有效地开发 Web 应用程序,并将其部署到任何 Web 容器中,例如 IBM? WebSphere? 或 Apache Tomcat. 在 Rails 和类似的 Web 应用程序开发框架出现之前,用于 Web

  • 几个加速Ruby on Rails的编程技巧

    Ruby 语言常以其灵活性为人所称道.正如 Dick Sites 所言,您可以 "为了编程而编程".Ruby on Rails 扩展了核心 Ruby 语言,但正是 Ruby 本身使得这种扩展成为了可能.Ruby on Rails 使用了该语言的灵活性,这样一来,无需太多样板或额外的代码就可以轻松编写高度结构化的程序:无需额外工作,就可以获得大量标准的行为.虽然这种轻松自由的行为并不总是完美的,但毕竟您可以无需太多工作就可以获得很多好的架构. 例如,Ruby on Rails 基于模型-

  • Ruby中数组的一些相关使用方法

    Ruby数组是有序的,任何对象的??整数索引的集合.每个数组中的元素相关联,并提到的一个索引. 数组下标从0开始,如C或Java.负数索引假设数组末尾---也就是说,-1表示最后一个元素的数组索引,-2是数组中最后一个元素的下一个元素等等. Ruby的数组可以容纳对象,如字符串,整数,长整数,哈希,符号,甚至其他Array对象.Ruby数组没有在其他语言中数组一样严格.Ruby数组自动增长同时增加元素. 创建数组: 有许多方法来创建或初始化一个数组.一种方式是 new 类方法: names =

  • java中数组的定义及使用方法(推荐)

    数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组.二维数组.多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的, 使用java数组,必须经过两个步骤,声明数组和分配内存给该数组, 声明形式一 声明一维数组:数据类型

  • JS中数组与对象的遍历方法实例小结

    本文实例讲述了JS中数组与对象的遍历方法.分享给大家供大家参考,具体如下: 一.数组的遍历: 首先定义一个数组 arr=['snow','bran','king','nightking']; 1.for循环,需要知道数组的长度; 2.foreach,没有返回值,可以不知道数组长度: arr.forEach(function(ele,index){ console.log(index); console.log(ele) }) 3.map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新

  • php中数组最简单的使用方法

    我们在说映射的时候,有些小伙伴就会联想到数组,没错,因为数组就是用了映射的思想.这里很多刚学php的小伙伴对概念不是很了解,不过小编把数组的定义.语法整理出来,大家跟着进行实例学习就可以了,最后再看看使用数组的一些注意事项.下面我们进入今天的学习吧. 1.定义 数组是PHP中的重要数组类型之一,是复合类型 数据的集合,在PHP中数组是一个有序映射 2.语法 array$arr = array(1, 2, 3); []$arr = [1, 2, 3]; 3.实例 <?php //描述一个学生的信息

  • JavaScript中数组去重的5种方法

    正常情况下,数据去重的工作一般都是由后端同事来完成的,但是前端也要掌握好处理数据的能力,万一去重的工作交给我们大前端处理,我们也不能怂呀.现在我总结了一些去重的方法,希望对大家有点帮助. 方法一:new Set()实现数组去重 ES6 提供了新的数据结构 Set,它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构.Set函数可以接受一个数组,用于初始化.根据 Set的数据特性,我们可以实现数组去重. let list = [1, 1, '

  • Shell中数组以及其相关操作的详细实例

    Shell中数据类型不多,比如说字符串,数字类型,数组.数组是其中比较重要的一种,其重要应用场景,可以求数组长度,元素长度,遍历其元素,元素切片,替换,删除等操作,使用非常方便. Shell中的数组不像JAVA/C,只能是一维数组,没有二维数组;数组元素大小无约束,也无需先定义数组的元素个数;但其索引则像JAVA/C/Python,从0开始,下面其常用的方式进行总结. [数组声明] 备注: 1) 不像JAVA/C等强编程语言,在赋值前必须声明:SHELL只是弱编程语言,可事先声明也可不声明: 2

  • 对Python中数组的几种使用方法总结

    二维数组的初始化 matirx_done = [[0 for i in range(0, len(matirx))]for j in range(0, len(matirx[0]))] 就将其初始化为一个与matrix相同大小的元素全为 0 的矩阵 数组的多级排序 在数组 idea_collect = [[3, 1, 2], [3, 2, 1], [3, 2, 2], [3, 1, 1]] 中, 先按照第二项排列, 再按照第三项倒序排列 可写为: idea_collect.sort(key=la

  • Ruby中操作字符串的一些基本方法

    在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示. 简单的字符串文本括在单引号(单引号字符).引号内的文本的字符串值: 'This is a simple Ruby string literal' 如果需要内放置一个单引号,单引号的字符串文字,在它前面加上一个反斜杠Ruby解释器不认为终止字符串: 'Won\'t you read O\'Reilly\'s book?' 反斜杠也可以转义另一个反斜杠,这样第二个反斜杠本身不是解释为转义字符. 以下是字

  • PHP中数组定义的几种方法

    Array 数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的. 一般来说定义方法如下面几种: 方法一: $a=array(1,2,4,5,6); <?php $array=array('a','b','c'); $array[]='simon'; pr

  • javascript中数组array及string的方法总结

    一.array的方法总结 会更改原来的的数组 push.unshift方法,返回length.增加值得就返回length,其他返回该元素 pop,shift返回该元素 reverse返回该元素 splice(start,deleteCount,addItem...),从原数组中删除和增加,返回删除的数组 不会改变原来的数组,返回新的数组 concat,join,slice(start,end) 记住这3个是返回新数组,其他的会改变原来的数组 二.Sting的方法总结 不对原始值做改变,都是返回一

随机推荐