ruby基本类型学习笔记(2)

一.遍历,搜索

 

enum.all?{|obj| block}

判断所有元素都满足模中条件,元素都通过条件block返回true,否则返回false

[1,2,3,4,5].all?{|i| i >= 1}   #返回true
[1,2,3,4,5].all?{|i| i > 1}     #返回false

 

enum.any?{|obj| block}  

判断集合中是否有至少一个元素满足条件,满足返回true,否则返回false

[1,2,3,4,5].any?{|i| i > 1}    #返回true
[1,2,3,4,5].any?{|i| i > 5}     #返回false

 

enum.collect{|obj| block}  

集合中的每个元素传递调用block,并保存block运行返回的结果

[1,2,3,4,5].collect{|i| i + 1}   #返回[2,3,4,5,6]

 

enum.find(ifnone = nil){|obj| block}  

寻找集合中符合某条件的一个元素,运行时依次传递每个元素给block,直接返回第一个使得block返回值为true的元素。如果没有找到任何符合条件的元素,则返回参数ifnone

[1,2,3,4,5].find{|i| i>2}  #返回3

 

enum.find_all{|obj| block}  

寻找集合中所有符合某条件的元素。和enum.select方法功能相同。

[1,2,3,4,5].find_all{|i| i>2}  #返回[3,4,5]

 

enum.include?(obj)

判断集合中是否包含obj

[1,2,3,4].include?(1)  #返回true
[1,2,3,4].include?(5)   #返回false

 

求和:

[1,2,3,4,5].inject{|sum,i| sum + n}  #返回1+2+3+4+5的结果为15

 

求积:

[1,2,3,4,5].inject{|product,i| product * n}   #返回120

 

将集合按条件分割:

[1,2,3,4,5].partition{|i| i%2 == 0}   #返回[[2,4],[1,3,5]]

 

 

二.比较,排序

 

enum.max和enum.min

返回集合中最大的元素和最小元素

[1,2,3,4,5].max    #返回5
[1,2,3,4,5].min    #返回1

 

enum.sort 

返回按照元素大小排序后的集合

[1,3,2,4].sort    #返回[1,2,3,4]

 

 

三.区间

 

".."表示连接起点和终点,包括终点

"..."表示连接起点和终点,不包括终点

1..10   #表示1,2,3,4,5,6,7,8,9,10
1...10   #表示1,2,3,4,5,6,7,8,9
'a'..'z'  #表示a,b,c,d,e......x,y,z

 

区间转换为数组

(1..4).to_a  => [1,2,3,4]

 

区间具有所有Enumerable模块提供的方法

(1..5).max      #返回5

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值