`
liss
  • 浏览: 844646 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ruby学习笔记(6)--范围

    博客分类:
  • Ruby
阅读更多

#简单的应用
print (1..10).to_a,"\n" #12345678910
print (1...10).to_a,"\n"#123456789
digits=1..10
puts digits.include?(5) #true
puts digits.min #1
puts digits.max #10
print digits.reject{|i| i<5},"\n"#5678910

#让自己的类也支持范围
class SustainRange
  include Comparable
  attr :digits
  def initialize(digits)
   @digits=digits
 end
 #阶乘结果
 def Factorial
   result=1
   1.upto(self.digits){|i| result*=i}
   return result
 end
 #比较操作
 def <=>(other)
    self.digits<=>other.digits
  end
  #支持范围必段 succ方法自增1
  def succ
    SustainRange.new(@digits.succ)
  end
end

#生成实例
sustainRanges= SustainRange.new(1)..SustainRange.new(6)
#each列举
sustainRanges.to_a.each{ |sr| print sr.Factorial,' '}#1 2 6 24 120 720
#是否包含元素
puts sustainRanges.include?(SustainRange.new(3)) #true
#是否在范围之类
#===条件范围
puts sustainRanges===SustainRange.new(9) #false
#5的阶乘大于100
puts sustainRanges.reject{|sr| sr.Factorial<100}[0].digits #5


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2006/12/01/1424901.aspx

分享到:
评论

相关推荐

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

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

    在开始学习Ruby之前,需要确保已经在计算机上安装了Ruby环境。以下是不同操作系统上的安装步骤: - **Windows系统**: 1. 访问Ruby官方网站(https://www.ruby-lang.org/en/downloads/)下载Ruby安装包。 2. 运行...

    个人ruby学习笔记

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

    ruby-kaigi-notes-源码.rar

    Ruby Kaigi 是全球范围内最重要的 Ruby 开发者大会之一,每年都会聚集众多 Ruby 社区的精英,分享最新的技术趋势、实践经验和开源项目。"ruby-kaigi-notes-源码.rar" 文件很可能包含了历届 Ruby Kaigi 大会的参会者...

    ruby学习笔记

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

    Ruby中的Range对象学习笔记

    Range是范围对象的类,定义的时候可以使用范围操作符“..”或者“…”,“..”生成的范围对象包括起点和终点,“…”生成的范围对象不包括起点和终点,范围是由是一序列有顺序、有规律的元素对象组成,任何有顺序,...

    redis个人学习笔记

    GEO 数据类型则允许存储地理位置信息,进行距离计算和范围查询,适合于实现地理围栏等应用。 Redis 还提供了发布订阅功能,可以用于构建消息系统;支持Lua脚本,用户可以自定义命令;简单的事务机制保证了一定的...

    rubylearningdotorg:Ruby学习课程

    标题"rubylearningdotorg:Ruby学习课程"表明这是一个关于学习Ruby编程语言的资源,可能包括一系列的教程、笔记或实践活动,适合初学者和有一定基础的开发者。"肯·麦卡登"可能是课程的创建者或主要贡献者,他可能是...

    jvm中篇笔记.md

    ### JVM中篇笔记知识点 #### 一、Class 文件结构 ##### 1. 概述 - **字节码文件的跨平台性** - Java 的跨平台性体现在 "Write Once, Run Anywhere" (WORA),即一次编写,到处运行。Java 语言编写的源代码在编译...

    storm 从零到精通 非常实用的文件

    ### Storm 从零到精通知识点解析 #### 一、Storm简介 **1.1 什么是Storm** Apache Storm 是一个开源的分布式实时计算系统,能够处理大量...以上总结了从零开始学习 Storm 的基础知识和技术要点,希望对你有所帮助。

    odinproject:我的Odin Project提交

    6. **Gem和Rails框架**:Ruby的Gem是其包管理器,允许开发者方便地安装和管理各种第三方库。Ruby on Rails(简称Rails)是一个流行的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,大大简化了Web开发。 在...

    elixir_in_action:SašaJurić撰写的《 Elixir in Action》第二版-我的笔记和解决方案

    总的来说,《Elixir in Action》第二版是一本深入学习Elixir语言和实践的宝典,配合作者的笔记和解决方案,将帮助你掌握Elixir的核心概念和技术,从而能够构建出强大且高效的系统。无论你是初涉Elixir,还是希望提升...

    conf-talk-ideas:我正在思考的演讲思路

    RubyConf是中国乃至全球范围内Ruby编程语言爱好者的重要年度聚会,而CodeMash则是一个跨平台、跨语言的开发者大会,吸引着全球各地的技术专家和创新者。 【描述】提到的是"我正在思考的演讲思路",这可能包括了对...

    Laravel 5框架学习之Laravel入门和新建项目

    **Laravel 框架简介** ...同时,参考 `laracasts.com` 上的教程或阅读其他 Laravel 学习资料,如提到的 "Laravel 5.0 发布 新版本特性详解"、"初识laravel5" 和 "Laravel 5 学习笔记",都将有助于你的学习进程。

    fxkt-tech.github.io

    8. **个人学习记录**: 个人技术博客常常用来记录学习过程,分享技术心得,因此可能包含各种编程语言、框架、工具的教程或笔记。 9. **技术讨论与交流**: 如果网站开放评论功能,那么会形成一个讨论区,读者可以在...

    流行的Python项目汇总 (2).pdf

    首先,在测试和调试方面,Python_Koans是一个交互式的Python学习工具,它借鉴了Ruby Koans的概念,帮助开发者通过测试驱动开发(TDD)来学习Python。Sure是自动化测试的理想选择,它提供了流畅的断言和深度选择器。...

    github_non_coding:GitHub 非编码用例列表

    GitHub 上有许多开源的学习资源,如教程、课程笔记、电子书等。用户可以通过阅读和参与这些项目,学习新的技能或者深入理解某个主题。 **6. 社区参与** GitHub社区是全球开发者交流的平台,你可以关注感兴趣的人或...

    notes

    2. 搜索功能:高效的全文搜索引擎(如Elasticsearch)可实现快速的笔记查找,支持关键词、标签和日期范围的筛选。 3. 分类与标签:笔记应用可能通过文件夹或标签系统帮助用户组织笔记,方便按主题或项目归档。 4. ...

Global site tag (gtag.js) - Google Analytics