Ruby数组
Ruby数组是有序的,任何对象的整数索引的集合。每个数组中的元素相关联,并提取到的一个索引。下标与C或Java相似,从0开始。负数索引假设数组末尾,也就是说-1表示最后一个元素的数组索引,-2是数组中最后一个元素的下一个元素等等。
Ruby的数组可以容纳对象,如字符串,整数,长整数,哈希,符号,甚至其他Array对象。Ruby数组没有像在其他语言数组一样严格。Ruby数组自动增长,同时增加元素。
创建数组
有许多方法来创建或初始化一个数组,一种是new方法:
names = Array.new
早创建时可以设置一个数组的大小
names = Array.new(20)
数组names现在有20个元素的大小/长度。您可以返回用数组属性size或length来获取数组长度
可以指定一个数组汇总的每个元素值
names = Array.new(4,"mac")
这样创建的数组中每个元素都是mac字符串
还可以使用new块,块会计算并填充每个元素:
nums = Array.new(10){ |e| e = e*2 }
这样创建的数组元素为:0,2,4,6,8,10,12,14,16,18
还有另一种方法,语法如下
nums = Array.[]{1,2,3,4}
或:
nums = Array[1,2,3,4]
内核模块Ruby的核心,有一个数组的方法,只接受一个参数,这里的方法范围内创建一个数组的数组作为参数
digits = Array(0..9)
这样创建的结果为:0,1,2,3,4,5,6,7,8,9
数组内置的方法
以上面创建的数组对象为例:
取某个索引的元素:
num = digits.at(3)
#num = 3
Ruby数组的更多相关文章
- 雷林鹏分享:Ruby 数组(Array)
Ruby 数组(Array) Ruby 数组是任何对象的有序的.整数索引的集合.数组中的每个元素都与一个索引相关,并可通过索引进行获取. 数组的索引从 0 开始,这与 C 或 Java 中一样.一个负 ...
- Ruby数组(1):基本用法
数组 Ruby中的数组是一个容器,数组中的每个元素都是一个对象的引用. 注意,Array类中包含了Enumerable模块,所以Enumerable中的方法也都能使用,例如Enumerable中的re ...
- Ruby数组方法整理
数组方法整理 方法列表: all().any().none()和one():测试数组中的所有或部分元素是否满足给定条件.条件可以是语句块中决定,也可以是参数决定 append():等价于push() ...
- ruby数组操作方法汇总
1.数组定义 arr1 = [] arr2 = Array.new arr3 = ['1','2','3'] 2.输出 print arr3,"\n" #123 puts arr3 ...
- ruby 数组array 排序sort 和sort!
1. sort → new_ary click to toggle source sort { |a, b| block } → new_ary Returns a new array created ...
- Ruby数组的操作
数组的创建arr = Array.new num #创建num个元素的数组,所有数组元素为nilarr = Array.new num, elem #创建num个元素的数组,所有数组元素为elemar ...
- ruby 数组操作
数组的创建 arr = Array.new num #创建num个元素的数组,所有数组元素为nil arr = Array.new num, elem #创建num个元素的数组,所有数组元素为elem ...
- ruby 数组 Hash相互转换
由[索引, 值, ...] 型的数组变为哈希表 ary = [1,"a", 2,"b", 3,"c"] p Hash[*ary] # =&g ...
- ruby 数组与散列
def say_goodnight(name) result ="Good night ." +name return result end def say_goodmorning ...
随机推荐
- C#获取本地IP地址[常用代码段]
获得当前机器的IP代码,假设本地主机为单网卡 string strHostName = Dns.GetHostName(); //得到本机的主机名 IPHostEntry ipEntry = Dns. ...
- django 基础篇
jdango 简介: 一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django,使你能够以 小的代价构建和维护高质量的Web应用. Python的WEB框架有Django.Tornad ...
- Javascript实现时间转换为多少天前
//实现时间转换,这篇文章发布时间为 2016/1/20 19:59:30 文章发表时间戳为:1453291170000于:11月前function getDateDiff(dateTimeStamp ...
- 史上最详细的linux网卡ifcfg-eth0配置详解
通过查资料与工作中的进行一下总结: DEVICE="eth1" 网卡名称NM_CONTROLLED="yes" network mamager的参 ...
- Linux之:Ubuntu速学笔记(1)
撰写日期:2016-7-2 17:11:28 Saturday 课程资源: web程序员角度ubuntu自修速学课程 链接来源:程序员在囧途, VMware: VMware Workstation1 ...
- MSSQLServer 纵向表转横向表 横向表转纵向表 行转列 列转行
MSSQLServer 纵向表转横向表 横向表转纵向表 建表语句及插入数据语句: CREATE TABLE Test_y( ) NULL, ) NULL, [Grade] [int] NULL ) ...
- Linux学习之CentOS(二十八)--RAID原理基础及Linux下软件RAID配置
一.RAID的原理基础 在 讲解RAID的原理基础之前,我们首先来了解一下传统磁盘的劣势.我们知道一台PC机种都会包含CPU.内存.主板.硬盘.网卡等硬件,影响计算机性能的 组建包括:CPU.主板总线 ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- 基于MQTT协议进行应用开发
官方协议有句如下的话来形容MQTT的设计思想: "It is designed for connections with remote locations where a "sma ...
- Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法
解决办法: gradlew is the gradle wrapper executable - batch script on windows and shell script elsewhere. ...