Ruby Enumerable 模块中的方法——查询和选取

本文详细介绍了Ruby Enumerable模块中用于查询和选取的方法,包括include?、all?、any?、none?、one?、count、tally以及获取元素的方法如min、max、min_by、max_by、to_a等,帮助理解如何在Ruby中有效地操作集合数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ruby Enumerable 模块中的方法——查询和选取

1. 用于查询的方法

这一类方法从对象查询并获取信息,而不是直接获取对象的元素

1.1 include?
  1. include?(object)

    如果self中存在元素element,使得element==object,则该方法返回true

1.2 member?
  1. member?(object)

    member?include?的别名,用法同上

1.3 all?
  1. all?

    没有参数也没有块,此时判断self中是不是每个元素都为true,如果是则结果为true,否则为false

  2. all?(pattern)

    只接受一个pattern参数时,如果self中每个元素element,都满足pattern===element则返回true,否则返回false。值得说明的是,===方法用于判断右侧对象能否放入左侧容器,或者右侧对象是否是左侧对象的一个成员,因此上面表达式中pattern和element的位置不能互换。(虽然一般意义上,===在ruby中是一个普通的方法,其含义由类的编写者确定)

  3. all?(pattern){|element| ...}

    同时给出参数和块时,如果块中语句对每个元素均为true,则方法返回值为true,否则给出false

1.4 any?

​ 和上述all?类似,只不过此时只要有一个元素满足条件就返回true,调用形式按照是否给出参数和块可以分成如下三种:

  1. any?
  2. any?(pattern)
  3. any?(pattern){|element| ...}
1.5 none?

​ 所有元素均不满足判断条件时返回true,否则结果为false,调用形式同理分为三种:

  1. none?
  2. none?(pattern)
  3. none?(pattern){|element| ...}
1.6 one?

​ 有且仅有一个元素满足判断条件时返回true,否则结果为false,调用形式同理分为三种:

  1. one?
  2. one?(pattern)
  3. one?(pattern){|element| ...}
1.7 count

​ 返回满足条件的元素数量

  1. count

    返回元素总数

  2. count(pattern)

    返回和pattern相等的元素的数量

  3. count(pattern){|element| ...}

    element依次被赋值为每一个元素,返

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值