文档章节

ruby中的数组相关方法介绍

o
 osc_g8254g7s
发布于 2019/08/19 17:00
字数 1107
阅读 5
收藏 0

精选30+云产品,助力企业轻松上云!>>>

l = ["a","b","c","d","e","f",'g']


puts l.values_at(2,3,4,6)
# 获取index为2、3、4、6的元素
#
#
l1 = ["a","b","c","d","e","f",'g']
l2 =  ["a","b","c","d",1,2,3]


l = l1 & l2
# 取交集

puts l

l = l1 | l2
# 取并集
puts l

l = l1 - l2
# 获取在l1中,但是不是在l2中的元素

puts l


l = l1 + l2
# 获取l1和l2两个集合中的合集,这个是两个集合的简单相加,会有重复元素
puts l


puts "=" * 100
l = ["a","b","c","d",1,2,3]

l.unshift("0")
# 在数组头部追加一个元素
puts l


puts "=" * 100
l = ["a","b","c","d",1,2,3]
l.push(4)
# 在数组尾部追加一个元素
#
#
l<< 5
# 在数组尾部追加一个元素
puts l

puts "=" * 100
l = ["a","b","c","d",1,2,3]

a = l.shift
# 从头部删除一个元素,同时可以接受到删除的元素
puts l
puts a


puts "=" * 100
l = ["a","b","c","d",1,2,4]

a = l.pop
# 从数组的尾部删除一个元素,同时可以接受到删除的的元素

puts l

puts a



puts "=" * 100
l = ["a","b","c","d",1,2,4]

puts l.first
# 获取头部第一个元素
puts l.last
# 获取尾部第一个元素
#
#
#
#
puts "=" * 100
l1 = ["a","b","c","d","e"]
l2 = [1,2,3,"a"]

l1.concat(l2)
# 连接l1和l2,把l2追加到l1的后面,这个操作会重新赋值l1

puts l1


puts "=" * 100
l = [1,2,3,4,1,"a","b"]

l.delete(1)
# 删除数组中的指定元素
puts l



puts "=" * 100
l = [1,2,3,4,1,"a","b"]

l.delete_at(2)
# 删除数组中索引为2的元素
puts l


puts "=" * 100
l = [1,2,3,4,1,6,7]

l.delete_if {|i| i > 2 }
# 删除数组中大于2的元素

puts l


puts "=" * 100
l = [1,2,3,4,1,6,7]

l = l.reject {|i| i > 2 }
# 删除数组中大于2的元素,把删除后的元素赋值给一个新的数组,原来的数组不影响
puts l


puts "=" * 100
l = [1,2,3,4,1,6,7]

l.reject! {|i| i > 2 }
# 删除数组中大于2的元素,把删除后的元素赋值给原数组
puts l

puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.slice(1,3)
# 删除索引为1到3的元素,并把删除的元素赋值给新的数组,对原数组无影响
puts m



puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.slice!(1,3)
# 删除索引为1到3的元素,并把删除的元素赋值给新的数组,对原数组有影响
puts l



puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.uniq
# 移除数组中的重复元素,并把移除重复元素后的数组赋值给一个新的数组,对原数组无影响
# puts m
puts l



puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.uniq!
# 移除数组中的重复元素,并把移除重复元素后的数组赋值给一个新的数组,对原数组有影响
puts m
puts l


puts "=" * 100
l = [1,2,3,4,1,6,7]


m =  l.reverse
# 翻转数组,对原数组无影响,翻转后的数组赋值给新的数组
puts l
puts m

puts "=" * 100
l = [1,2,3,4,1,6,7]


m =  l.reverse!
# 翻转数组,对原数组有影响,翻转后的数组赋值给新的数组
puts m
puts l


puts "=" * 100
l = [1,2,3,4,1,6,7]

m =  l.collect {|item| item * 2 }

# 对原数组中的每个元素执行块中的运算,把计算后的元素赋值给一个新的元素,对原数组无影响

puts "=" * 100
l = [1,2,3,4,1,6,7]

m =  l.collect! {|item| item * 2 }
# 对原数组中的每个元素执行块中的运算,把计算后的元素赋值给一个新的元素,对原数组有影响
#

puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.map {|item| item + 100 }

# 效果同collect

puts "=" * 100
l = [1,2,3,4,1,6,7]

m = l.map! {|item| item + 100 }

# 效果同collect!
puts "=" * 100
l = [1,2,3,4,1,6,7]

l.fill(2)
# 替换数组中的所有元素为2
puts l


puts "=" * 100
l = [1,2,"a","a",1,6,7]

l.fill(3,3)
# 替换数组索引从3开始都尾部的所有的元素为3

puts l


puts "=" * 100
l = [1,2,"a","a",1,6,7]

l.fill(100,3,6)
# 替换数组索引从3开始到6结束的所有的元素为3
puts l


puts "=" * 100
l = [1,2,"a","a",[1,1,2,["c","c","d"]]]
l.flatten
# 展开嵌套的数组,对原数组无影响,展开后的数组会赋值给一个新的数组

puts "=" * 100
l = [1,2,"a","a",[1,1,2,["c","c","d"]]]
l.flatten!
# 展开嵌套的数组,对原数组有影响
#
#
#

puts "=" * 100
l = [1,2,0,100,1,6,7]

m = l.sort
# 对数组进行排序,不影响原数组
puts m

puts "=" * 100
l = [1,2,0,100,1,6,7]

m = l.sort!
# 对数组进行排序,影响原数组
puts m


puts "=" * 100
l = [1,2,0,100,1,6,7]

m = l.sort_by{|i| -i}
# 对数组进行指定方法的排序,对原数组无影响
puts m


puts "=" * 100
l = [1,2,0,100,1,6,7]

m = l.sort_by!{|i| -i}
# 对数组进行指定方法的排序,对原数组影响
puts m

 

 

l1 = ["a","b","c"]

l2 = ["A","B","C"]

l3 = ["x","y","z"]

r = l1.zip(l2,l3)

r.each do |i|
  
  puts i
end

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
【转】牛逼闪闪的Ruby迭代器

D瓜哥最近想做一个网站,另外,老早就有学习一门动态语言的想法,满足着两个条件的编程语言中,Ruby、Python是最合适的两种语言。现在Ruby on Rails如日中天,光芒万丈!所以,就选定了Ruby,...

紫色葡萄
2016/12/20
0
0
【转】牛逼闪闪的Ruby迭代器

D瓜哥最近想做一个网站,另外,老早就有学习一门动态语言的想法,满足着两个条件的编程语言中,Ruby、Python是最合适的两种语言。现在Ruby on Rails如日中天,光芒万丈!所以,就选定了Ruby,...

紫色葡萄
2016/12/20
0
0
一小时体验Ruby

所谓的一小时入门某一门语言都是有前提的,前提是你要有一门编程语言的基础才行,否则一个小时对你还是无济于事。 要使用,首先要安装之。在电脑上默认就有安装,如果使用,好像也是默认安装...

bigstone2012
2018/10/08
0
0
Ruby入坑指南

1.1 简介 Ruby语言是由松本行弘(Matz)设计,是一门通用的、面向对象的、解释型语言。 1.2 Ruby?RUBY?ruby? 1.Ruby:用来表示编程的语言 2.ruby:是指一个计算机程序,特指Ruby的解释器 3....

zhanggui
2019/01/16
0
0
了解 Ruby 下的表征状态转移(REST)

摘要 REST,或者称为表征状态转移,它是一个分布式通信体系架构,正在迅速发展成云平台的一个通用概念。它非常简单,然而却足以表达大量的云资源和全部的配置、管理。在Ruby中从头开始学习如...

enixyu
2013/03/05
1.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

如果你失明了,你怎么编程? - How can you program if you're blind?

问题: Sight is one of the senses most programmers take for granted. 视觉是大多数程序员认为理所当然的感官之一。 Most programmers would spend hours looking at a computer monitor......

技术盛宴
57分钟前
16
0
如何删除使用Python的easy_install安装的软件包? - How do I remove packages installed with Python's easy_install?

问题: Python's easy_install makes installing new packages extremely convenient. Python的easy_install使安装新包非常方便。 However, as far as I can tell, it doesn't implement th......

fyin1314
今天
11
0
如何将逗号分隔的字符串转换为数组? - How to convert a comma separated string to an array?

问题: I have a comma separated string that I want to convert into an array, so I can loop through it. 我有一个逗号分隔的字符串,我想将其转换成数组,因此可以循环遍历它。 Is the...

富含淀粉
今天
13
0
深源恒际:担心个人身份被冒用?不存在!

本文作者:c****t 近日,苟晶被冒名顶替身份参加高考的事件在社会各界掀起广泛热议。事件调查结果公布后,舆论风向逆转,吃瓜群众认为当事人夸大其词消费了公众情绪,一边对当事人所遭遇的不...

百度开发者中心
昨天
5
0
CKEditor 5 + SpringBoot实战(三):SpringData JPA数据持久化

在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,...

树下魅狐
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部