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

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