`
yufenfei
  • 浏览: 798853 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ruby中的数组

阅读更多

Ruby的数组和hash的关系与区别
    Ruby的数组和hash都是带索引的集合。它们都可以容纳一组对象,并允许以索引键来访问这些对象。对数组而言,索引键是一个整数;而hash则允许用任何对象作为索引键。数组和hash都能够自动增长以容纳新的元素。数组和hash都可以容纳不同类型的对象。

数组的定义
   方括号里列出元素并用逗号将它们相互隔开来创建一个数组
   arr=[1,3,3,"hello"];

对于Ruby的数组而言,每个数组元素都处于数组的一个位置上,用一个整数(既可以是正整数有可以是负整数)来索引。
当我们从左向右访问数组元素时,最左边数组元素的索引从0开始,然后依次是1,2,3,。。。
当我们从右向左访问数组元素时,最左边数组元素的索引从-1开始,然后依次是-2,-3,。。。

  在Ruby中数组中的元素可以是nil(null)。nil在Ruby中是一个对象与其它对象一样,不过它恰好代表“什么都没有”。


Ruby的数组时Array类的实例
#定一个空数组
  my_array = Array.new
  puts "数组的长度:"+my_array.size.to_s
  my_array[3]="Hello";
  puts "数组的长度:"+my_array.size.to_s
    my_array[5]="4...7";
  p my_array
  puts "数组的长度:"+my_array.size.to_s

  输出结果
数组的长度:0
数组的长度:4
[nil, nil, nil, "Hello", nil, "4...7"]
数组的长度:6


数组的%表示方法
   ruby语言可以吧一个包含多个空格的字符串转换成数组,ruby会把空格当成数组分隔符,每个空格分隔的子串都会被当作一个数组元素
   使用%w{...}或者%W{...}表示
   %w{}与%W{}的功能大致相同,但%W会进行更多额外的替换
   a=%w{ant bee cat}
   结果
    a=['ant','bee','cat']

 

 

数组的常用方法
array[n,m] 截取数组array的子数组,从索引n开始截取,截取长度为m个元素组成新数组

array[n..m] 截取数组array的子数组,从索引n开始截取,截到索引为m的元素,包括索引为m的元素

array[n...m] 截取数组array的子数组,从索引n开始截取,截到索引为m的元素,不包括索引为m的元素

就像前面提到的字符串一样.数组也可以相乘或相加
   ary=[1,2,"3"]
   p ary.size
   s=ary+[1,3];
   t=s * 2
   p s
   p t
   输出结果
3
[1, 2, "3", 1, 3]
[1, 2, "3", 1, 3, 1, 2, "3", 1, 3]

 

 

数组可以和字符串互相转化,分别使用join和split:
   ary=[1,2,"3"]
   p str = ary.join(":")
   p str.split(":")
    输出结果
"1:2:3"
["1", "2", "3"]

 

 

数组的一个常用的方法是<<,该方法会把一个值附加到数组的尾端。
 arrs= []
6.times do |value|
 arrs<<value
end
p arrs
end
输出结果
[0, 1, 2, 3, 4, 5]

分享到:
评论

相关推荐

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

    Ruby数组是有序的,任何对象的??整数索引的集合。每个数组中的元素相关联,并提到的一个索引。 数组下标从0开始,如C或Java。负数索引假设数组末尾—也就是说,-1表示最后一个元素的数组索引,-2是数组中最后一个...

    Ruby常见面试题.pdf

    8. Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同特点。 9. 什么是Ruby中的块(Block)和迭代器(Iterator)?请简要介绍在Ruby中块和迭代器的概念。 10. 在Ruby中如何进行模块...

    Ruby创建数组方法总结

    在本篇文章里小编给大家分享了关于Ruby创建数组方法的知识点内容,对戏有兴趣的朋友们学习下。

    Rearmed-rb:Ruby中数组,哈希,可枚举,字符串,对象和日期的有用方法和猴子补丁的集合

    重装Ruby Ruby中用于数组,哈希,可枚举,字符串,对象和日期的有用方法和猴子补丁的集合。 通过使生活更轻松和编码更自然而受到驱动。 该库与其他库之间的区别在于,所有猴子修补均以选择加入的方式执行,因为您不...

    Ruby简明教程之数组和Hash介绍

    数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据;这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构。 1. 在Ruby中如何定义数组呢? 使用[ ]来框住元素,而元素之间则使用”,”...

    ruby 数组处理大全.doc

    ruby数组处理大全 如函数名称 说明 示例 &数组与,返回两数组的交集 [1,2] & [2,3] =&gt;[2] *复制数组n次 [1,2]*2 =&gt; [1,2,1,2] +返回两数组的并集,但不排除重复元素 [1,2]+[2,3] =&gt;[1,2,2,3] 追加元素,但不...

    ruby数组

    ruby数组

    Ruby数组(Array)学习笔记

    Ruby中的数组是动态数组,存储的数据不用限定类型,数组的长度是根据存储需要动态扩展,所以,在进行数据定义的时候,只用用最简单的方式new一个Array对象就可以了,可以使用以下几种方式: 代码如下: arr1=[] #最...

    10Ruby 数组.docx

    Ruby是一种动态、面向对象的编程语言,它具有简洁、易读的语法,被称为“程序员最好的朋友”。Ruby具有强大的元编程能力,允许开发者在运行时动态修改和生成代码。Ruby还有一个强大的标准库,提供了丰富的工具和功能...

    Ruby中的数组和散列表的使用详解

    Ruby的数组(arrays)和散列表(hashes)是被索引的收集(indexed collections). ...有了数组对象,在方括号之间提供索引便可以访问单个元素,如下例所示,注意Ruby数组的索引从零开始。 a=[1,'cat',3.14] #有三个元

    ruby 数组使用教程

    数组也可以相乘或相加 ruby&gt; ary + [“foo”, “bar”] [1, 2, “3”, “foo”, “bar”] ruby&gt; ary * 2 [1, 2, “3”, 1, 2, “3”] 我们可用索引来访问数组的任意一部分. ruby&gt; ary[0] 1 ruby&gt;...

    binary_search:用于Ruby数组的本机和纯Ruby二进制搜索和索引方法

    二进制搜索是Ruby的Array类中缺少的一种非常方便的算法。 如果我们知道绝对肯定的是,我们正在与正在工作的数组排序,你可以使用二进制搜索通过数组得多的速度远远超过线性搜索,这与指数进行或检测/查找搜索。 用法...

    Ruby-ActiveModel的自定义验证用于检查数组是否包含在另一个中

    Active Model的自定义验证,用于检查数组是否包含在另一个中

    编码挑战_旧

    代码挑战2D Sum(Ruby) 2D翻译(Ruby) 缩写句(Ruby) 加性持久性(Ruby) 相邻和(Ruby) AE计数(Ruby) 所有其他均等(Ruby) 七巧板(Python,Ruby) Fixnum数组? (Ruby) 数组翻译(Ruby) BST迭代器...

    Ruby中使用each和collect进行迭代的用法

    在Ruby中,数组和哈希可以被称为集合. 迭代器返回一个集合的所有元素,一前一后。我们将讨论两个迭代器,在这里,每个收集。让我们来看看这些细节. Ruby each 迭代: 每个迭代器返回一个数组的所有元素或哈希. 语法: ...

    Ruby的字符串与数组求最大值的相关问题讨论

    max方法 ...ruby中给出的例子是 # enum.max -&gt; obj # enum.max { |a, b| block } -&gt; obj #a = %w(albatross dog horse) #a.max =&gt; horse # a.max { |a, b| a.length &lt;=&gt; b.length } #=&gt; albatro

    rubyonrails+Ruby+取得指定月日期数方法

    rubyonrails+Ruby+取得指定月日期数的思路方法

Global site tag (gtag.js) - Google Analytics