[解決済み] Ruby 1.8.7 ハッシュを文字列に変換する
2022-02-25 14:06:39
質問
ruby 1.8.7で作業していなかったのですが、最近になって驚きました。
{:k => 30}.to_s #=> "k30"
Ruby 1.8.7でハッシュを文字列に変換して、以下のように表示させるための修正はありますか?
{:k => 30}.to_s #=> "{:k=>30}"
解決方法は?
hash.to_s
は確かに
1.8.7
から
1.9.3
.
で
1.8.7
、(参照。
http://ruby-doc.org/core-1.8.7/Hash.html#method-i-to_s
):
ハッシュを [ key, value ] ペアの配列に変換し、その配列を Array#join を使ってデフォルトのセパレータで文字列に変換することにより、hsh を文字列に変換します。
で
1.9.3
、(参照。
http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-to_s
)
の別名:inspect
1.8.7のHashクラスをモンキーパッチして、ローカルで同じことができるようにするには、以下のようにします。
class Hash
alias :to_s :inspect
end
モンキーパッチの前。
1.8.7 :001 > {:k => 30}.to_s
=> "k30"
1.8.7 :002 > {:k => 30}.inspect
=> "{:k=>30}"
モンキーパッチ&後。
1.8.7 :003 > class Hash; alias :to_s :inspect; end
=> nil
1.8.7 :004 > {:k => 30}.to_s
=> "{:k=>30}"
関連
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] RubyのハッシュオブジェクトをJSONに変換する方法は?
-
[解決済み] rbenvがrubyのバージョンを変更しない
-
[解決済み】Rubyでバイナリファイルを文字列として読み込む
-
[解決済み】Ruby: ハッシュキーのフィルタリングを行う最も簡単な方法とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyのローカル変数が未定義である
-
[解決済み] git, Heroku: pre-receive フックの減少
-
[解決済み] ルビーです。そのようなファイルやディレクトリはありません @ rb_sysopen - testfile (Errno::ENOENT)
-
[解決済み] string literal in condition "とはどういう意味ですか?
-
[解決済み] ルビー、すべての単語の最初の文字を大文字にする
-
[解決済み] Ruby Net::HTTPの実行期限が切れた
-
[解決済み] .rb(Ruby)ファイルを表示するにはどうすればよいですか?
-
[解決済み] 変数が整数であるかどうかのチェック
-
[解決済み] Rubyでガウス(正規分布)乱数を生成するコード
-
[解決済み] 構文エラー、予期しない ',', 期待する ')' 。