ruby酷酷的方法——另一种next_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > ruby酷酷的方法——另一种next

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

 2012/9/8 11:52:54  Anleb  程序员俱乐部  我要评论(0)
  • 摘要:irb(main):022:0*1.next=>2irb(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_adefnum_next(first,last)whilefirst!=lastfirst=first
  • 标签:方法 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脱帽致敬!
发表评论
用户名: 匿名