2006-07-12 (水) [長年日記]
_ String#inspect を元に戻す
String#inspect は文字列の中に改行等の特殊文字入っていてもすべて ASCII 文字列にしてくれるので、複数行にわたる設定などを保存しておくのに便利なのですが、元の文字列に戻す場合は eval を使わなければいけない(わたしはその方法しか知らない)ので、セキュリティ的にちょっと不安がありますよね。
そんな場合は、スレッドを使用して一時的にセーフレベルを上げることで、安全な eval が実現できるようです。
def safe_eval( *param ) Thread.start do $SAFE = 4 eval( *param ) end.value end
_ 7月の月例パッチ、Excelの脆弱性など深刻度“緊急”を含む7件を修正
Windows Update & Office Update 完了。
_ 任天堂、ニンテンドーDS Liteの新色「ジェットブラック」を9月2日に発売
やっぱり出すんじゃないか。
_ デジタルカメラの種類と選び方
ワラタ。まあ、すぐに修正されると思うが。
_ 今日のレンタル
_ 今日のアニメ
- 姫様ご用心#11
- 姫子の王冠が取れると、ナーナを守るためどんどん理不尽な法律が作られる。
(本題とはズレたコメントですが)その目的には、String#inspect よりも String#dump の方が向いてるかもしれません。<br>リファレンスマニュアルより String#dump の説明:「文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。str == eval(str.dump) となることが保証されています。」