[解決済み] Hashの値を変更するには?
2022-06-10 23:49:52
質問
それぞれの
value
を
value.some_method
.
例えば、単純なハッシュが与えられた場合。
{"a" => "b", "c" => "d"}`
すべての値は
.upcase
dのような形になるので
{"a" => "B", "c" => "D"}
試しに
#collect
と
#map
を実行しても、常に配列が返されるだけです。これを行うためのエレガントな方法はありますか?
アップデイト
しまった、忘れていた。ハッシュはインスタンス変数にあり、それは変更されるべきではない。変更された値で新しいハッシュが必要ですが、その変数を明示的に定義して、それを埋めるハッシュをループさせることは避けたいと考えています。何かそのようなもの。
new_hash = hash.magic{ ... }
どのように解決するのですか?
my_hash.each { |k, v| my_hash[k] = v.upcase }
または、非破壊で行い、新しいハッシュを返すことを望むなら、修正する代わりに
my_hash
:
a_new_hash = my_hash.inject({}) { |h, (k, v)| h[k] = v.upcase; h }
この最後のバージョンは、キーも変形させることができるという付加的な利点があります。
関連
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] JavaScriptで浮動小数点数を整数に変換するには?
-
[解決済み] 一重引用符で囲まれた文字列の一重引用符をエスケープするには
-
[解決済み] JavaでMD5ハッシュを生成するにはどうすればよいですか?
-
[解決済み] Javascriptで文字列からHashを生成する
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】macOSでrbenvをアンインストールする方法とは?
-
[解決済み] Gemfile が見つかりません。
-
[解決済み] Ruby - 文字列を日付に変換する
-
[解決済み] rubyでto_yamlに書式オプションを指定することはできますか?
-
[解決済み] Ruby on Railsでホスト名やIPを取得する
-
[解決済み] Ruby: 文字列をブーリアンに変換する方法
-
[解決済み] ネストされたクラスとモジュールにネストされたクラスはいつ使用するのですか?
-
[解決済み] Rubyでfailキーワードは何をするのですか?
-
[解決済み] Rubyで2次元配列の作成と反復処理
-
[解決済み] Rubyの予期しないキーワードの終了、および予期しない入力の終了