![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
#!/usr/local/bin/ruby
require 'cgi'
require 'kconv'
headers={
"status"=>"OK",
"type"=>"text/html; charset=utf-8"
}
cgi=CGI.new
hoge=cgi['arg']
cgi.out(headers){Kconv.toutf8(hoge)}
上記はcgiはクエリパラメータargに与えた文字列がUTF-8で表示される
物の基本骨格として記しました。
実際に作りたい物は、もう少し複雑で、cgi.outのブロックに渡す部分
は、ケースにより複数あります。
そこで、毎回ブロックに渡す部分をKconv.toutf8でくくるのは、如何な
ものかと思い、CGIクラスそのものを改造して、
cgi.out(headers){hoge}
と記述しても、UTF-8で出力されるようにしたいのですが、やり方が解
りません。
CGIクラスのoutメソッドをオーバーライドするのかなぁ?
と思うのですが、オーバーライドってやった事が無いので、
手がかりがつかめません。
お手ほどきの、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
alias で別名を付けて、中で呼び出します。
class CGI
alias :out_orig :out
def out(hdrs)
out_orig(hdrs) { yield.toutf8 }
end
end
かな。
他のやり方としては、一皮かぶせるほうが理解しやすいか。
def my_out(cgi,hdrs)
cgi.out(hdrs) { yield.toutf8 }
end
my_out(cgi,header) { hoge }
notnotさん ご回答ありがとうございます。
ご回答して頂いたコードはカッコイイですね!!
#notnotさんには、以前にもご回答頂いた事があります。
#その節はお世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(ブログ) ランキングサイトのポイントが発生しない理由 1 2023/01/21 11:40
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
C言語の入力した文字を反転させ...
-
ビーリアルのユーザー名を変え...
-
pandasでsqlite3にテーブル作成...
-
なんで if __name__ == "__main__"
-
100万件越えCSVから条件を満た...
-
秀丸エディタで、同じ記号で囲...
-
(再質問)エクセルのマクロボ...
-
パソコンのスクリーンセーバー...
-
pythonの常時実行
-
Ruby on railsをrails sで立ち...
-
Accessで文字列のバイト数読み込み
-
WSLのUbuntuで、Railsのインス...
-
GitHubは初年度以外は有料にな...
-
教えてください
-
GitHubについて
-
Rubyのみでスレがあってそこに...
-
IDLE.Shell 3.10.0
-
プログラミング初学者の勉強方法
-
VBA メモ帳の上書き保存がしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「arg」は何の略?
-
例外の再スロー時に、その原因...
-
fortranを用いた行列の掛け算に...
-
pythonのプログラミング
-
英語訳をおねがいします
-
rubyについて質問です
-
【ruby】無名関数?でブロック...
-
【ruby】クラスCGIを改造したい
-
.size .atとは?(挿入ソート)
-
Rubyでクラスファイルをディレ...
-
ブロックローカル変数
-
VBA/GetTickCountの49.7日の境...
-
計算の途中経過を表示
-
Ruby Selenium 要素の待機
-
cos波表示について マクローリ...
-
Ruby Selenium リンクの取得方法
-
Ruby evalで代入
-
Ruby インスタンス変数@fooを...
-
【Ruby】基本的な質問 数字を...
-
SMLのエラーについて
おすすめ情報