hとrawメソッドhメソッド
# ユーザー入力を含む文字列をエスケープ処理
safe_text = h("<script>alert('XSS');</script>こんにちは?")
# 結果: "<script>alert('XSS');</script>こんにちは?"エスケープ処理された文字列はWebブラウザーに安全に表示され、スクリプトタグは実行されないrawメソッド
# HTMLタグを含む文字列をそのまま出力
html_content = raw("<p>これは<strong>重要な</strong>メッセージです。</p>")
# 結果: "<p>これは<strong>重要な</strong>メッセージです。</p>"rawメソッドを使用した文字列はHTMLタグがそのまま解釈され、スタイルが適用された状態で表示されるsanitizeメソッド# 特定のHTMLタグのみを許可して他は削除
clean_text = sanitize("<script>alert('XSS');</script><p>安全なテキスト</p>", tags: ['p'])
# 結果: "<p>安全なテキスト</p>"sprintfメソッド# 書式を使用した文字列生成
formatted_str = sprintf("名前: %s, 年齢: %d", "홍길동", 24)
# 結果: "名前: 홍길동, 年齢: 24"sprintfメソッドは指定された書式に従って変数の値を文字列に挿入number_xxxxxメソッド機能: 数字を様々な形式(通貨、パーセンテージ、区切り文字含むなど)で加工して表示
=> 数字データをユーザーフレンドリーに表示する必要がある時に便利
例:
# 通貨形式で数字をフォーマット
formatted_currency = number_to_currency(10000, unit: "원", precision: 0)
# 結果: "원10,000"
# パーセント形式で数字をフォーマット
formatted_percentage = number_to_percentage(99.99, precision: 1)
# 結果: "99.9%"
# 区0切り文字を含む数字をフォーマット
formatted_number = number_with_delimiter(123456789, delimiter: ',')
# 結果: "123,456,789"
strftimeメソッドTimeオブジェクトをフォーマットされた文字列に変換# 日付及び時間のフォーマット
current_time = Time.now
formatted_time = current_time.strftime("%Y년 %m月 %d日 %H時 %M分 %S秒")
# 結果: "2024年 04月 01日 12時 00分 00秒"strftimeメソッドはユーザーが指定した形式に従って日付及び時間データを文字列に変換