ruby values_at与地图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby values_at与地图相关的知识,希望对你有一定的参考价值。

require 'benchmark'

n = 1000
Benchmark.bm do |bm|
  keys = (1..10000).to_a
  hash = Hash[keys.zip(keys)]

  bm.report do
    n.times do
      keys.map{|key| hash[key] }
    end
  end

  bm.report do
    n.times do
      hash.values_at(*keys)
    end
  end
end


# ruby-2.0.0-p195
#        user     system      total        real
#   2.010000   0.060000   2.070000 (  2.074412)
#   1.130000   0.050000   1.180000 (  1.191744)

# jruby-1.7.4
#       user     system      total        real
#   1.680000   0.010000   1.690000 (  1.148000)
#   0.450000   0.020000   0.470000 (  0.410000)

以上是关于ruby values_at与地图的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 地理编码库与最新的 Google 地图、Yahoo 地图、Bing API 兼容

ruby中的数组相关方法介绍

如何根据枚举哈希对数组进行排序并返回 Ruby 中的最大值?

需要一个`values_at_if`方法来映射ruby中的值

ruby 可枚举的每个和地图

Ruby中地图和收集之间的区别?