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

一步一步学Ruby(十八):数组

阅读更多
一、数组定义和基本操作

     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 语法.pdf

    前端学 Ruby:熟悉 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 Cookbook: Recipes for Object-Oriented Scripting

    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程序:ruby selenium Web驱动程序

    ruby程序之ruby selenium Web驱动程序,供学习参考。

    Ruby.Programming_向Ruby之父学程序设计(第2版)

    《Ruby Programming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要...

    rubyzip:官方Rubyzip存储库

    Ruby Rubyzip是用于读取和写入zip文件的ruby库。 重要的提示 Rubyzip界面已更改!!! 无需删除类名中的require "zip/zip"和Zip前缀。 如果任何需要旧版rubyzip的第三方gem出现问题,则可以使用以下解决方法: ...

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

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

    10Ruby 数组.docx

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

    rust-vs-ruby:“Rust 与 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数组(Array)学习笔记

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

    ruby开发的基本流程.doc

    Ruby开发流程涉及多个关键步骤,从环境搭建到项目部署,下面是一个大致的流程概述: Ruby开发环境搭建:首先,需要在计算机上安装Ruby开发环境。推荐使用macOS或各种发行版本的Linux作为运行环境,尽管Windows下也...

    rubyapi:Ruby API使搜索或浏览Ruby语言API文档变得轻松快捷。

    Ruby API:轻松查找Ruby文档 Ruby API使搜索或浏览Ruby语言API文档变得轻松快捷。 为什么? 现有的Ruby文档网站很难搜索,也无法在移动设备上阅读。 Ruby API提供了受启发的即时搜索结果,以及易于在任何大小的...

    ruby rails demo

    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 安装...

    ruby-enum:在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 Serial:Ruby 对象的优化序列化库。-开源

    库序列化 Ruby 对象,在许多方面进行了优化: * 快速且小巧:使用 MessagePack(二进制紧凑型存储)并且不会将同一对象序列化两次 * 独立于 Ruby 版本:跨不同版本转储和加载数据 * 保留共享对象:如果一个对象被...

    p6df-ruby: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

    笨方法学Ruby中文pdf。感兴趣的人可以拿来学习ruby语言。

    笨方法学ruby-中文版

    LearnRubyTheHardWay中文版本,笨方法学Ruby:中文网页版本,内部链接都已经调整好,下载解压可直接观看,建议采用chrome或者其它支持HTML5浏览器查看以获得最佳效果。

Global site tag (gtag.js) - Google Analytics