一.遍历,搜索
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
相关推荐
下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的语言,具有简洁的语法和强大的功能。了解变量、数据类型、运算符、控制结构、函数和对象等基本概念。其次,选择合适的...
从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、...以上总结了Ruby的一些基础知识点,这些内容对于初学者掌握Ruby编程语言至关重要,同时也是进一步深入学习的基石。
1. 面向对象:Ruby是一种纯面向对象的语言,意味着所有数据(包括基本类型)都是对象,每个对象都有其特有的方法。这使得编程更加灵活,易于理解和复用代码。 2. 动态类型:在Ruby中,变量的类型是在运行时自动确定...
ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...
根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
- **面向对象**:Ruby是一门纯粹的面向对象语言,所有事物都是对象,包括基本的数据类型。 - **动态类型**:Ruby是一种动态类型语言,可以在运行时改变变量的类型。 #### 二、Ruby环境搭建与安装 在开始学习Ruby...
1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...
在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...
自动装箱允许基本类型与对应的包装类之间进行无缝转换,提升了代码的简洁性。例如,int与Integer之间的转换无需显式调用new Integer()或intValue()。 6. **NIO.2(New IO 2.0)**: NIO.2提供了新的文件系统API,...
### Solr学习笔记_v1.1 - 高性能搜索引擎的核心参数与查询语法详解 #### 一、Query参数:深入理解Solr查询的核心要素 Solr作为高性能的全文搜索引擎,其强大的查询能力很大程度上依赖于一系列精细调整的参数。以下...
2. **类型**:包括基本环境和内置类型,如整型、浮点型、字符串、列表、元组、字典等,以及它们的使用和操作。 3. **表达式**:涵盖了词法、赋值、运算符、控制流(如if语句、for循环、while循环)、推导式(列表...
本资源"java学习笔记JDK6课件和课本代码"聚焦于JDK 6版本,这是一个较早但仍然有其价值的Java版本,因为许多遗留系统仍基于它。 JDK 6发布于2006年,引入了多项改进和新特性,如增强的Swing组件、改进的JDBC API、...
### GDAL-Python库学习笔记 ...通过本节的学习笔记,我们不仅了解了GDAL的基本概念和功能,还掌握了一种在Windows平台上安装GDAL的方法。这将有助于开发者更好地利用GDAL进行地理空间数据的处理和分析工作。
- **基础语法**:理解Groovy的基本数据类型、流程控制结构、方法定义等。 - **闭包和元编程**:深入学习Groovy的两大特色,掌握闭包的使用场景和元编程的应用。 - **Gradle入门**:学习如何创建Gradle项目,配置...
在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...
通过阅读这篇"JSON学习笔记",读者不仅可以了解JSON的基本概念,还能深入到实际开发中JSON的使用,包括解析、序列化、验证以及与HTTP、其他语言的交互等。同时,笔记可能会介绍如何利用提供的开源库来简化JSON处理的...
以上步骤介绍了如何安装和使用 Sunspot 以及 Crontab 插件,包括基本的安装步骤、多模型搜索的实现方法以及如何利用 Crontab 插件来定时更新索引。这些知识点将帮助你在 Rails 项目中更好地利用全文检索功能。