どうも、ちょげ(@chogetarou)です。
ハッシュ(Hash)のキー(Key)の文字列(string)をシンボルに変換する方法を紹介します。
方法

ハッシュ(Hash)のキー(Key)の文字列(string)をシンボルに変換するには、Hash#transform_keysメソッドを使います。
まず、ハッシュからtransform_keysメソッドを呼び出します。
そして、transform_keysメソッドの引数に「&:to_sym
」を指定します。
#h=対象のハッシュ
result = h.transform_keys(&:to_sym)
上記のtransform_keysメソッドは、ハッシュ(Hash)のキーの文字列を全てシンボルに変換した結果を返します。
(呼び出したハッシュには影響を与えません)
もし、呼び出したハッシュに影響を与えたい場合は、transform_keysメソッドの代わりにtransform_keys!メソッドを呼び出します。
#呼び出したハッシュに影響を与える
h.transform_keys!(&:to_sym)
使用例
nums = {
"one" => 1,
"two" => 2,
"three" => 3,
"four" => 4,
"five" => 5,
}
result = nums.transform_keys(&:to_sym)
p result
出力:
{:one=>1, :two=>2, :three=>3, :four=>4, :five=>5}
使用例2
nums = {
"one" => 1,
"two" => 2,
"three" => 3,
"four" => 4,
"five" => 5,
}
nums.transform_keys!(&:to_sym)
p nums
出力:
{:one=>1, :two=>2, :three=>3, :four=>4, :five=>5}
コメント