`
moneyinto
  • 浏览: 33899 次
  • 性别: Icon_minigender_1
  • 来自: 东台
社区版块
存档分类
最新评论

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
分享到:
评论

相关推荐

    RubyStudy-master-ruby学习笔记

    下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的语言,具有简洁的语法和强大的功能。了解变量、数据类型、运算符、控制结构、函数和对象等基本概念。其次,选择合适的...

    个人ruby学习笔记

    从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、...以上总结了Ruby的一些基础知识点,这些内容对于初学者掌握Ruby编程语言至关重要,同时也是进一步深入学习的基石。

    学习 Ruby 的笔记以及 Demo.zip

    1. 面向对象:Ruby是一种纯面向对象的语言,意味着所有数据(包括基本类型)都是对象,每个对象都有其特有的方法。这使得编程更加灵活,易于理解和复用代码。 2. 动态类型:在Ruby中,变量的类型是在运行时自动确定...

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    ruby学习笔记

    根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    ruby语言入门教程-自学笔记

    - **面向对象**:Ruby是一门纯粹的面向对象语言,所有事物都是对象,包括基本的数据类型。 - **动态类型**:Ruby是一种动态类型语言,可以在运行时改变变量的类型。 #### 二、Ruby环境搭建与安装 在开始学习Ruby...

    ruby初学笔记ruby初学笔记

    1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...

    ruby介绍及相应的ruby demo示意源码,供大家参考学习

    在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...

    jdk6学习笔记(17,18,19,20,21)

    自动装箱允许基本类型与对应的包装类之间进行无缝转换,提升了代码的简洁性。例如,int与Integer之间的转换无需显式调用new Integer()或intValue()。 6. **NIO.2(New IO 2.0)**: NIO.2提供了新的文件系统API,...

    solr_学习笔记_v1.1

    ### Solr学习笔记_v1.1 - 高性能搜索引擎的核心参数与查询语法详解 #### 一、Query参数:深入理解Solr查询的核心要素 Solr作为高性能的全文搜索引擎,其强大的查询能力很大程度上依赖于一系列精细调整的参数。以下...

    Python 学习笔记 第三版1

    2. **类型**:包括基本环境和内置类型,如整型、浮点型、字符串、列表、元组、字典等,以及它们的使用和操作。 3. **表达式**:涵盖了词法、赋值、运算符、控制流(如if语句、for循环、while循环)、推导式(列表...

    java学习笔记JDK6课件和课本代码

    本资源"java学习笔记JDK6课件和课本代码"聚焦于JDK 6版本,这是一个较早但仍然有其价值的Java版本,因为许多遗留系统仍基于它。 JDK 6发布于2006年,引入了多项改进和新特性,如增强的Swing组件、改进的JDBC API、...

    GDAL-Python库学习笔记

    ### GDAL-Python库学习笔记 ...通过本节的学习笔记,我们不仅了解了GDAL的基本概念和功能,还掌握了一种在Windows平台上安装GDAL的方法。这将有助于开发者更好地利用GDAL进行地理空间数据的处理和分析工作。

    Groovy语法&Gradle配置学习笔记

    - **基础语法**:理解Groovy的基本数据类型、流程控制结构、方法定义等。 - **闭包和元编程**:深入学习Groovy的两大特色,掌握闭包的使用场景和元编程的应用。 - **Gradle入门**:学习如何创建Gradle项目,配置...

    Ruby 语言教程从小白到入门

    在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...

    JSON学习笔记

    通过阅读这篇"JSON学习笔记",读者不仅可以了解JSON的基本概念,还能深入到实际开发中JSON的使用,包括解析、序列化、验证以及与HTTP、其他语言的交互等。同时,笔记可能会介绍如何利用提供的开源库来简化JSON处理的...

    rails _sunspot 学习笔记

    以上步骤介绍了如何安装和使用 Sunspot 以及 Crontab 插件,包括基本的安装步骤、多模型搜索的实现方法以及如何利用 Crontab 插件来定时更新索引。这些知识点将帮助你在 Rails 项目中更好地利用全文检索功能。

Global site tag (gtag.js) - Google Analytics