`
Anleb
  • 浏览: 32725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby酷酷的方法——另一种next

阅读更多
irb(main):022:0* 1.next
=> 2
irb(main):023:0> "a".next
=> "b"
irb(main):024:0> "1".next
=> "2"
irb(main):025:0>


ruby的next方法,多方便,尤其是"1"



性能比较:
require 'benchmark'

n=(1..1000000).to_a
def num_next(first,last)
    while first != last
            first=first.next
    end
    
end


def num_join(first,last)
        while first != last
              first+=1
        end
end

Benchmark.bm do |bm|
    bm.report("each") do 
        n.each do |d|
            d
        end
    end

    bm.report("next") do 
        num_next(1,1000000)
    end

    bm.report("  + ") do 
        num_join(1,1000000)
    end
end


输出:
      user     system      total        real
each  0.219000   0.000000   0.219000 (  0.218000)
next  0.266000   0.000000   0.266000 (  0.266000)
  +   0.312000   0.000000   0.312000 (  0.313000)




性能还不错,向ruby脱帽致敬!
1
5
分享到:
评论

相关推荐

    ruby代码分享——excel应用

    这相当于在Ruby中打开一个Excel程序,并且可以控制其行为。 ```ruby excel = WIN32OLE::new('excel.application') ``` #### 3. 打开现有工作簿 可以通过`Workbook`类的`Open`方法来打开一个已经存在的Excel工作簿...

    Ruby使用心得汇总——寻找高效的实现

    在上述例子中,`tr`方法的执行时间大约是`gsub`的四分之一,因此在需要频繁替换字符的情况下,优先选择`tr`。 其次,字符串操作的效率也值得注意。在连接字符串时,应尽量使用`操作符,而不是`+=`。`操作符通常比`+...

    Ruby 方法、类

    Ruby支持类的继承,允许一个类(子类)继承另一个类(父类)的属性和方法。子类使用`符号指定其父类,如下所示: ```ruby class Student def study puts "I'm studying hard!" end end ``` 在这个例子中,`...

    ruby——course.pdf

    Ruby支持面向对象编程,允许通过`class`关键字定义类,并且一个类可以从另一个类继承。继承是通过在类定义时指定父类实现的。例如,下面的代码定义了一个`Person`类,包含初始化方法和`greet`方法,然后定义了一个...

    Ruby-Functo是ruby中的可组合方法对象

    Ruby是一种面向对象的编程语言,以其简洁的语法和强大的功能深受开发者喜爱。在Ruby的世界里,函数式编程的概念也被巧妙地融入其中,这体现在“Functo”这样的库上。标题提到的“Ruby-Functo”就是Ruby中实现可组合...

    ruby基础教程(中文第四版).epub

    这是一本绝对不会让初学者失望的Ruby入门书。 ——Ruby之父 松本行弘 本书为日本公认的最好的Ruby入门教程。 松本行弘亲自审校并作序推荐。 本书支持最新的Ruby 2.0, 也附带讲解了可运行于1.9版本的代码, ...

    Ruby-Geocoder完整的Ruby地理编码解决方案

    Ruby-Geocoder是一款强大的Ruby库,它为开发者提供了完整的地理编码解决方案。这个库的主要功能包括正向地理编码、反向地理编码以及距离查询,适用于基于地理位置的应用开发。下面将详细介绍这些功能及其应用。 1. ...

    Best of Ruby Quiz

    这本书的描述简洁明了,"Best of Ruby Quiz"直接点出了其核心内容——一系列关于Ruby的精彩挑战和问题解答,旨在提升编程技能。 Ruby是一种面向对象的、动态类型的编程语言,由日本的松本行弘(Yukihiro Matsumoto...

    Ruby Programming

    - **Martin Fowler**(ThoughtWorks首席科学家)提到:“Ruby是一种强大而实用的语言,每当我在工作中使用它时,《Programming Ruby》总是陪伴在我身边。” - **Mike Clark**(作者兼顾问)认为:“如果你的世界...

    ruby语言帮助文当

    Ruby是一种面向对象的脚本语言,以其简洁、优雅的语法和强大的编程能力而闻名。它由日本人松本行弘(Yukihiro Matsumoto)在1995年设计并开发,旨在提供一种更人性化、高效的编程体验。Ruby强调代码的可读性和可维护...

    Ruby/tk学习资料

    Ruby/tk是一种基于Ruby语言的图形用户界面(GUI)库,它基于Tcl/Tk工具包并进行了封装以适应Ruby的语法和习惯。 #### 1. 引入Ruby/tk 在使用Ruby/tk之前,首先需要确保已经正确安装了Ruby环境,并且安装了Ruby/tk库...

    Ruby-Ruby的面向对象的枚举

    Ruby的枚举通常指的是枚举类(Enum Class),这是一种自定义枚举类型的方法,允许我们创建具有特定行为的枚举。在本篇文章中,我们将深入探讨Ruby如何实现面向对象的枚举以及它在实际开发中的应用。 首先,让我们...

    Ruby工具 windows 环境

    Ruby是一种面向对象的脚本语言,它以其简洁、优雅的语法和强大的编程能力而闻名。在Windows环境下设置和使用Ruby工具对于开发者来说是一项基础任务。本文将深入探讨Ruby在Windows平台上的安装、配置以及基本使用。 ...

    Ruby编程Ruby Programming

    Ruby是一种动态、面向对象的脚本语言,由日本程序员松本行弘(Matz)于1995年设计并发布。它结合了Perl、Smalltalk、Eiffel、Ada以及Lisp等语言的优点,旨在提高开发者的生产力,并且强调代码的可读性和简洁性。 ##...

    Python、Lua和Ruby——脚本大P.K.1

    1. 面向对象:Ruby 是一种纯面向对象的语言,所有数据都是对象,这简化了编程。 2. 易于阅读和编写:Ruby 的语法鼓励编写清晰、简洁的代码,类似于自然语言。 3. Rails 框架:Ruby on Rails 提供了一个强大的 web ...

    Ruby-orderquery在一个查询中查找上一个下一个ActiveRecords

    `order_query`库就是为了解决这个问题而设计的,它提供了一种方便的方法来在一个查询中查找上一个或下一个Active Record对象。 `order_query`库的主要功能是在已排序的Active Record集合中找到指定记录的相邻记录。...

    why.s.poignant.guide.to.ruby.pdf en

    根据提供的文件信息,我们可以推断出这是一份关于Ruby编程语言的指南——《Why's (Poignant) Guide to Ruby》的部分内容。虽然实际文本部分并未给出具体的技术细节,但基于标题、描述和部分可见的内容,我们可以围绕...

    ruby 中文文档 必备资料

    这份"ruby 中文文档 必备资料"压缩包包含了一份非常重要的资源——"ruby中文文档.chm",这是一份详尽的Ruby语言指南,对于学习和精通Ruby编程语言来说是不可或缺的。 首先,Ruby语言的基础知识包括变量、数据类型和...

Global site tag (gtag.js) - Google Analytics