Ruby ハッシュの長さを取得する

  • 作成日 2021.03.20
  • 更新日 2022.08.09
  • Ruby
Ruby ハッシュの長さを取得する

Rubyで、lengthを使用して、ハッシュの長さを取得するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

length使い方

lengthを使用すれば、ハッシュの長さを取得することが可能です。

hash.length

以下は、ハッシュの長さを取得するサンプルコードとなります。

h = {'key1' => 1, 'key2' => 2}

p h.length
# 2

h = {'key1' => 1, 'key2' => 2, 'key3' => 3}

p h.length
# 3

sizeを使用しても、結果は同じです。

h = {'key1' => 1, 'key2' => 2}

p h.size
# 2

h = {'key1' => 1, 'key2' => 2, 'key3' => 3}

p h.size
# 3

countも使用できますが、パフォーマンスは一番悪くなります。

h = {'key1' => 1, 'key2' => 2}

p h.count
# 2

h = {'key1' => 1, 'key2' => 2, 'key3' => 3}

p h.count
# 3

lengthとsizeとcountを1000万回計測した結果

                 user     system      total        real
#length      0.453000   0.000000   0.453000 (  0.460591)
#size        0.547000   0.000000   0.547000 (  0.551066)
#count       3.437000   0.000000   3.437000 (  3.435665)

ソースコード

require 'benchmark'

# 繰り返し回数
i = 10000000

# ハッシュを用意
h = {'key1' => 1, 'key2' => 2, 'key3' => 3}

# 10は、reportラベルに使用する桁数
Benchmark.bm 10 do |r|
  r.report '#length' do
    i.times do
        h.length
    end
  end

  r.report '#size' do
    i.times do
        h.size
    end
  end

  r.report '#count' do
    i.times do
        h.count
    end
  end
end