一、数组定义和基本操作
1. 数组的定义和其它语言一样,Ruby里的数组并不限定类型.
x=[1,2,3,4]
puts x[2] #输出3
x[2]+=1
puts x[2] #输出 4
x[2]="Jack"*3 #输出 JackJackJack
2. 数组可以不设初始值,可以使用<< 和pop的操作,后进先出
x=[]
x<<"Jack"
x<<"Tom"
x<<"Crystal"
puts x[2] #输出 Crystal
x.pop
puts x[x.length-1] #输出 Tom
3. 可以把数组连接在一起
x=["Jack","Better","Man"]
puts x.join
#输出 JackBetterMan
x=["Jack","Better","Man"]
puts x.join(', ')
#输出: Jack, Better, Man
4. 字符串拆分为数组
puts "Jack is better man".scan(/\w/).join(",")
#输出 J,a,c,k,i,s,b,e,t,t,e,r,m,a,n
puts "www.cnblogs.com".split(/\./).inspect
#输出:["www", "cnblogs", "com"]
Insepct是显示一个对象的变量,用P也可以
http://blog.12spokes.com/articles/2008/03/15/
ruby-tip-stop-using-puts-object-inspect%E2%80%94use-p-instead
p "Jack Tom Crystal".split(/\s/)
#输出 ["Jack", "Tom", "Crystal"]
二、数组方法
1.数组迭代
[1,"jack",2.0, 4].each{|x| print x.to_s+"!"}
#输出 1!jack!2.0!4!
2.批量改变数组的值collect
p [1,"jack",2.0, 4].collect{|x| x*2}
#输出: [2, "jackjack", 4.0, 8]
3.数组合并
a=[1,2,3]
b=["jack","crystal"]
c=a+b
p c
#输出: [1, 2, 3, "jack", "crystal"]
4. 数组相减
a=[1,2,3,4,5]
b=[2,3]
c=a-b
p c
#输出 [1, 4, 5]
5.检查数组是否为空
x=[]
puts "It's empty" if x.empty?
#输出: It's empty
6.检查数组是否包含某值
x=[1,2,3]
puts x.include?("jack")
#输出:false
puts x.include?(2)
#输出: true
7.first和last存取元素
x=[1,2,3,4]
puts x.first
#output: 1
puts x.last
#output: 4
puts x.first(2).join("-")
#output: 1-2
puts x.last(2).join("-")
#output: 3-4
8. 反转数组
x=[1,2,3,4]
puts x.reverse.inspect
#output:[4, 3, 2, 1]
本文作者:王德水
未经同意,禁止转载
分享到:
相关推荐
一步一步学RUBY,目前很流行,很多测试人员都要学习
前端学 Ruby:熟悉 Ruby 语法
ruby数组处理大全 如函数名称 说明 示例 &数组与,返回两数组的交集 [1,2] & [2,3] =>[2] *复制数组n次 [1,2]*2 => [1,2,1,2] +返回两数组的并集,但不排除重复元素 [1,2]+[2,3] =>[1,2,2,3] 追加元素,但不...
Ruby Cookbook: Recipes for Object-Oriented Scripting Why spend time on coding problems that others have already solved when you could be making real progress on your Ruby project? This updated ...
ruby数组
ruby程序之ruby selenium Web驱动程序,供学习参考。
《Ruby Programming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要...
Ruby Rubyzip是用于读取和写入zip文件的ruby库。 重要的提示 Rubyzip界面已更改!!! 无需删除类名中的require "zip/zip"和Zip前缀。 如果任何需要旧版rubyzip的第三方gem出现问题,则可以使用以下解决方法: ...
数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据;这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构。 1. 在Ruby中如何定义数组呢? 使用[ ]来框住元素,而元素之间则使用”,”...
Ruby是一种动态、面向对象的编程语言,它具有简洁、易读的语法,被称为“程序员最好的朋友”。Ruby具有强大的元编程能力,允许开发者在运行时动态修改和生成代码。Ruby还有一个强大的标准库,提供了丰富的工具和功能...
Rust 与 Ruby:构建 API 这是 Rust 与 Ruby:构建 API 博客文章的存储库。 如何运行示例 git clone https://github.com/Sdogruyol/rust-vs-ruby Ruby Ruby版本:2.2.1 Ruby 服务器:瘦 1.6.3 框架:古巴 3.4.0 ...
Ruby中的数组是动态数组,存储的数据不用限定类型,数组的长度是根据存储需要动态扩展,所以,在进行数据定义的时候,只用用最简单的方式new一个Array对象就可以了,可以使用以下几种方式: 代码如下: arr1=[] #最...
Ruby开发流程涉及多个关键步骤,从环境搭建到项目部署,下面是一个大致的流程概述: Ruby开发环境搭建:首先,需要在计算机上安装Ruby开发环境。推荐使用macOS或各种发行版本的Linux作为运行环境,尽管Windows下也...
Ruby API:轻松查找Ruby文档 Ruby API使搜索或浏览Ruby语言API文档变得轻松快捷。 为什么? 现有的Ruby文档网站很难搜索,也无法在移动设备上阅读。 Ruby API提供了受启发的即时搜索结果,以及易于在任何大小的...
ruby rails demo, rails 简单demo。 (1)到ruby官网:http://www.ruby-lang.org/en/下载window安装包,并安装, ruby版本: ruby -v (2)安装Rails3 gem install rails (3)安装sqlite3 gem install sqlite3-ruby 安装...
class OrderState include Ruby :: Enum define :CREATED , 'created' define :PAID , 'paid'end OrderState :: CREATED # 'created'OrderState :: PAID # 'paid'OrderState :: UNKNOWN # raises Ruby::Enum::...
库序列化 Ruby 对象,在许多方面进行了优化: * 快速且小巧:使用 MessagePack(二进制紧凑型存储)并且不会将同一对象序列化两次 * 独立于 Ruby 版本:跨不同版本转储和加载数据 * 保留共享对象:如果一个对象被...
p6df-Ruby目录p6df-Ruby徽章概括贡献行为守则变化用法p6df-ruby:p6df-ruby / init.zsh: p6_ruby_prompt_info() p6df :: modules :: ruby :: deps() p6df :: modules :: ruby :: home :: symlink() ...
笨方法学Ruby中文pdf。感兴趣的人可以拿来学习ruby语言。
LearnRubyTheHardWay中文版本,笨方法学Ruby:中文网页版本,内部链接都已经调整好,下载解压可直接观看,建议采用chrome或者其它支持HTML5浏览器查看以获得最佳效果。