- 1 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:31:07 ]
- プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
★注意★ Ruby 1.9.1 は初心者には時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。 (理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に未対応であるためです。) なお 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 で勉強すれば将来スムーズに 1.9 系に移行できるでしょう。 関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 175 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:36:42 ]
- String[] の動作が期待に添っていて、短いのがスマートだと勘違いしているのなら、>>174
そのまんまの正規表現でマッチした部分を取り出す以上のわかりやすいスマートなものはないかと思われ str =~ /\A[\(\{\[<](.+?)[\)\]\}>]\Z/; $1 開きカッコの対応を取るライブラリは標準では無いので自作してくれ
- 176 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:38:04 ]
- というかカッコの対応は正規表現では本来書けない。
とCマガで大昔に読んだけど、最近の拡張しまくりのだと可能かもなー。
- 177 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:48:30 ]
- 後ろの1文字はchopで毟れるけど、先頭の1文字を毟り取るメソッドっ
てないよな。
- 178 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:51:08 ]
- >>177
その手があったか "[hoge]".chop.reverse.chop.reverse
- 179 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:52:59 ]
- >>178
ちょwwwwwプwwwww
- 180 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 14:54:21 ]
- 小橋の回転チョップを思い出した
- 181 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 17:26:08 ]
- 右のほうをチョップされたら左のほうを差し出せ
- 182 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:20:22 ]
- ×ほう
○ほお
- 183 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:28:43 ]
- >>172
"[hoge]"[/\[(.+?)\]/, 1] とも書ける。 >>175 Onigurumaならできるはず。
- 184 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:00:13 ]
- すんません。このスレどっからドコまで自作自演なんてしょうか?
- 185 名前:デフォルトの名無しさん [2009/09/19(土) 21:06:16 ]
- ココまで俺の自演
- 186 名前:デフォルトの名無しさん [2009/09/20(日) 05:42:36 ]
- require ってなんで複数のライブラリ名を受け付けないんでしょうか。
けっこう不便なんですけど。
- 187 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 05:58:31 ]
- >>186
リファレンスを見たらわかることではないでしょうか?
- 188 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 06:35:34 ]
- 書いてはあるが、意図を読み取るのは不可能だと思う
>>186 require が真偽値を返すメソッドとして作られているから、がいちおうの答 複数受け取ったときは真偽値の配列を返すようにしてもいいんだけど、おおむねキモい each で回してもいいはずなんだけど、そういう人はなぜか見ないね
- 189 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 06:46:28 ]
- かなり初期に一瞬だけ実装されたことがあったと記憶
false が返ってきたほうが便利だということでお流れになったんでなかったかな
- 190 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 07:50:00 ]
- ふとした疑問なのですが、Mechanizeのテストというのはどのように書いたものでしょうか?
- 191 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 08:22:58 ]
- >>190
FakeWeb 1.2.6 API Documentation fakeweb.rubyforge.org/ FakeWeb使ったらいけるかも…
- 192 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:46:12 ]
- test
- 193 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 11:51:53 ]
- >>192
それはRubyで作った2chブラウザのテストですか?
- 194 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 12:34:04 ]
- 186です。
>>188 なるほど!たしかにrequireは戻り値がありますね。でも戻り値を気にする場面っていうのはまれなので、 そういう理由で複数の引数を指定できないのはちょっと勿体ないですね。 Railsとかには require_all というのがあるそうなので、戻り値を気にしなくていいから 引数を複数とれるバージョンのrequireを、requireとは別に用意してほしいなと思いました。
- 195 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 12:34:37 ]
- yes,we can
- 196 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 12:59:39 ]
- >>194
なければ自分で作るという選択肢ももとう
- 197 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 13:01:42 ]
- require を再定義すればいい。
- 198 名前:デフォルトの名無しさん [2009/09/20(日) 16:09:37 ]
- \
..  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄l/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /\(<●>)/\ /\(<●>)/\ /\(<●>)/\ /\(<●>)/\ /\(<●> )/\ \(<●>)/\ / \\(<●>)/\ / ,ゝ===く <●>)/\ ! γ `ヾ,_ \ │ :く( r,J三;ヾ )> \ l =; {三●;= } ,=ニ l ヽ ゝ≡三=イ / <>>1ワロタw ヽ .,,,. /.| ヽ 'ぐ'''''''' / / ト, ヽ. ヾ''" / / |ヽ ,./ヽ `´ / ./ \、 -‐ '''"  ̄ / :| \,,,__,,,, / / | `'''‐- 、.._\
- 199 名前:デフォルトの名無しさん [2009/09/20(日) 16:17:33 ]
- eRubyとMySQLをつかって、DBに写真のアップをしたいのだけど
<form action="syasinhenkou.rhtml" method="post" enctype="multipart/form-data"> <input type="file" name="syasin" size="30" maxlength="100"> <input type="hidden" name="id" value="<%= cgi["id"] %>"> <input type="submit" value="登録"> </form> ってかんじで、ファイルを登録用のページにおくりたい sql = "UPDATE rireki SET" sql += " syasin = '" + cgi["syasin"] + "'" sql += " WHERE id = '" + cgi["id"] + "'" sql += ";" my.query(sql) 受け側はこんな感じで書いてみた。 IDのところに変な文字列が入ってアップデートされないいのだけど enctype="multipart/form-data"のオプションのせいだよね。 ファイルを送るときは、このオプションがいるみたいだけど どうしたらいいかな? DB側のidがキーで文字列、syasinがBLOB型でやってる これでDBにファイルが送れるのかもよくわからんのだけど 教えてくれるとありがたいです。
- 200 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 17:25:56 ]
- >>199
idの所が変になるんじゃなくて、cgi['syashin']以降が変になってるはず blobとかのバイナリオブジェクトは文字列の連結でSQLを作れない プリペアードステートメントとかを使え
- 201 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 17:56:53 ]
- blobじゃなくても普通プリペアードステートメント使うとこだろ
- 202 名前:デフォルトの名無しさん [2009/09/20(日) 18:41:08 ]
- 何で空配列がかえってくんねん
空文字列ちゃうん? >> "a".split(/a/) => [] >> "aa".split(/a/) => [] >> "ab".split(/a/) => ["", "b"]
- 203 名前:デフォルトの名無しさん [2009/09/20(日) 18:43:58 ]
- 空配列に空文字列がつっこまれるべきちゃうん?
[""]
- 204 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 18:57:36 ]
- >>194
%w(lib0 lib1 lib2).each{|feat| require feat} でいいじゃん
- 205 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:12:10 ]
- >>202-203
新リファレンスマニュアルから抜粋 > instance method String#split > split(sep = $/, limit = 0) > 第 2 引数 limit は以下のいずれかです。 > limit == 0 > 分割個数制限はなしで、配列末尾の空文字列を取り除く > limit < 0 > 分割個数の制限はなし 「配列末尾の空文字列を」いくつあっても全部「取り除く」ってことなんだろうな多分 それがデフォルトの動作である理由は知らん
- 206 名前:デフォルトの名無しさん [2009/09/20(日) 19:23:06 ]
- > 「配列末尾の空文字列を」いくつあっても全部「取り除く」
こんなん知らへんかったがな。おーきに 理由は実装上の都合なんやろなぁ
- 207 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:33:54 ]
- Perlがそうだったから。
Perlがそうだった理由は知らん。
- 208 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 22:23:37 ]
- >>206
web上では関西弁禁止だよ?知らないな?他の方言ならいいけど
- 209 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 22:53:07 ]
- >>199
syasinじゃなくてphotoとかpictureつかえ
- 210 名前:デフォルトの名無しさん [2009/09/20(日) 23:01:59 ]
- 1.9からThreadにかわりFiberというのが入ったそうですが、どうやって使うものでしょうか。
ぐぐってみたけど、上級者向けの説明しかなくてさっぱりでした。 例:Fiberはいわゆるコルーチンです。←コルーチンが何かわからないからさっぱり理解できない説明 高校生でもわかるような説明をどなたかお願いできますか。
- 211 名前:デフォルトの名無しさん [2009/09/20(日) 23:13:30 ]
- >>200-201
Ruby/MySQLではプリペアードステートメントつかえない? MySQL/Rubyじゃないとだめ?
- 212 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:17:15 ]
- >>210
Threadなくなったわけじゃないし、上級者(地雷踏み?)向けの機能だから忘れていいよ 否定的なこと言われてるし ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/31601
- 213 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:58:30 ]
- >>211
こんなのもある d.hatena.ne.jp/tmtms/20090729/1249183003
- 214 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:21:13 ]
- >>211
出来るみたいだけど使ってないんで確認はしてない ttp://planet.mysql.com/entry/?id=18088 stmt = my.prepare("select ?,?") stmt.execute 123, "abc" stmt.fetch # => [123, "abc"]
- 215 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:43:01 ]
- refe2簡単に入れたいけどパッケージとかある?
- 216 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:58:24 ]
- そんなに面倒なことはない気がするんだが
- 217 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 01:37:34 ]
- >>213-214
プリペアードステートメントは MySQL/Rubyをいれて解決した あとは、ファイルのアップだけど st = my.prepare("UPDATE rireki SET syasin = ? WHERE id = ?") st.execute(cgi["syasin"].read,cgi["id"].read) res = st.fetch って書いてみたところ、MySQLのほうから 2053 Attempt to read a row while there is no result set associated with the statement って怒られた・・・・BLOBだとだめなんか? こんなところで詰まってるようだと、表示にもてまどりそう っていうか、表示できるのか?
- 218 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 03:42:41 ]
- MySQLの本でも買えよ・・・またはRails使うか
- 219 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 04:02:16 ]
- >>217
エラーメッセージの意味はわかる? SQL文を実行したけどresult setが返されなかった、なのに行を読み込もうとしてエラーになっている、という意味。 SQLをみるとupdate文を実行しているよね。だからresult setは返ってこない。なのに st.fetch しようとしているからエラーになっているだけ。 これがselect文だったらfetchできるけど。
- 220 名前:デフォルトの名無しさん [2009/09/21(月) 11:47:02 ]
- >>219
SERECTしたらはいってた〜〜!! ありがと〜〜!!! 表示のほうも、相談にのってください 格納したデータを <img src="data:image/jpg;base64,/9j/4AAQ....中略....."> って感じには表示できるのですが これだとIE6では見れない。 エンドユーザにFF入れろとか言えないし IEでも表示させる方法ありますかね?
- 221 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:24:04 ]
- もはやRuby関係なし
- 222 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:41:30 ]
- どうみてもHTMLの質問です
動的か静的かは用途次第だけど、素直にURL割り当てろって
- 223 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:54:14 ]
- pc12.2ch.net/test/read.cgi/tech/1251609039/
スレ立てるまでもない質問はここで 100匹目 pc12.2ch.net/test/read.cgi/tech/1054813207/ 【漏れは】猫でもわかる質問スレ【猫以下です】
- 224 名前:デフォルトの名無しさん [2009/09/21(月) 13:26:50 ]
- >>220
アホだなぁ。 base64デコードして出力すればいいだろが。 Content-Typeヘッダも適切に吐いてね。 あ、スレチだね。
- 225 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 13:51:04 ]
- >>220
さすがにスレ違いすぎるけど。 src="data:..." は IE6 ではサポートされてない。これはブラウザを変えてもらう以外に方法はない。 だから data: を使わずすなおに画像を別ファイルにしておこう。 あるいは example.com/cgi/jpg.cgi?base64=.....(base64文字列).... が画像ファイルを返すようなCGIを用意して、 src="data:..." をすべて src="example.com/cgi/jpg.cgi?base64=...." に変換するとか。
- 226 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:26:18 ]
- アホです。すんません。
>>224-225 URLの?以降の文字列はENV['QUERY_STRING']で受け取れるはず そいつをデコードして元に戻すって考えて #!/usr/local/bin/ruby require 'base64' file = ENV['QUERY_STRING'] out = decode64(file) print "Content-Disposition: filename=\"syasin.jpg\"\n" print "Content-type:image/jpge\n\n" print out って言う具合に組んでみた。 700バイトとかの小さいファイルだとうまく行くんだけど、 8kぐらいのファイルになると表示できなくなるな そもそも、CGI呼べてないっぽい これもRubyのはなじしゃないよね(涙
- 227 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:59:21 ]
- アホなりに解決しました。
どうもbase64のコードが長すぎでうまく行かなかったっぽいので idを指定してDBから画像を引っ張って垂れ流すだけのCGIを作成しました。 idなら長くても50桁とか行かんので、これで解決!! いろいろ、ご迷惑おかけしました。 ヒント本当に助かりました。ありがとうございます。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 19:05:28 ]
- >>226
>700バイトとかの小さいファイルだとうまく行くんだけど、 >8kぐらいのファイルになると表示できなくなるな ENV['QUERY_STRING'] をそのままつかってるのが問題なんじゃないかな。 (つまりENV['QUERY_STRING']に %2F や %2B が含まれているんだろう。) URLエンコードされているからデコードしないと。 require 'cgi'
qstr = ENV['QUERY_STRING'] out = decode64(CGI.unescape(qstr || "")) 詳しくは ttp://blog.s21g.com/articles/319 をみてくれ。
- 229 名前:デフォルトの名無しさん [2009/09/21(月) 20:00:17 ]
- いやいや、というか
そんな巨大なデータをクエリ文字列としてURIで渡すなよ、と。
- 230 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 20:02:48 ]
- URLの長さ上限は、普及しているブラウザでは、一番短かいIEが
2083バイトだったかね。
- 231 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 20:04:53 ]
- 一発でroot奪取されかねない素敵コードだな
- 232 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:06:05 ]
- なんかワロタw
- 233 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 14:17:19 ]
- ルヴィーっておもしろいですか?ルヴィー使ってる友達が、開発者が日本人だから誇らしいと言ってました
- 234 名前:デフォルトの名無しさん [2009/09/22(火) 14:23:06 ]
- >>233
またお前か。 もういいから自分の巣に帰れ!
- 235 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 15:31:24 ]
- URIのやり取りでトンネル掘り出すアフォとか出てきそうだな。
- 236 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 19:39:02 ]
- $0とか__FILE__とかARGFとか・・・
最初から備わってる変数が色々ありますけど、どうしてこんなに表記法に統一性が無いのですか?
- 237 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 20:31:24 ]
- 変数
- 238 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:03:37 ]
- >>236
Larry Wallに聞いてくれ
- 239 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:08:08 ]
- Larryにそんなことを聞いたら
Perlの文法が言語学的にどう優れているのかの講義が始まるぞ そしてハッシュの頭になぜ%が付くのかを聞いたらPerl信者になること確実だからやめておけ
- 240 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:28:45 ]
- $0はsh
__FILE__はC ARGFはARGVの発展系、ARGVはCのmain関数の引数argvが元になっている どれもこれもunix+Cを知ってれば、なじみの物ばかりだ
- 241 名前:236 mailto:sage [2009/09/22(火) 22:02:34 ]
- ありがとうございます。他言語からの習慣に習って付けてるんですね。
でもARGFはどうして定数なんでしょうか?Cだとargvなんかは変数ですよね。 __FILE__は擬似変数で$0はグローバル変数と全部違うけど、どれもグローバルにアクセスしたいものだから 統一してしまえばいいのに、と思ったのです。 ここら辺の、定数やグローバル変数、擬似変数といった使い分けは実装内部のことが分かるような人じゃないと理解できないのでしょうか。
- 242 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:06:29 ]
- ARGFは大文字で始まる
__FILE__は違う
- 243 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:08:10 ]
- 定数だったNILが変数nilになったりしてるから絶対的な境界は無いんだろう
ARGFをグローバル変数にするのはおかしな話だが、何でといわれても説明できん
- 244 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:23:44 ]
- ARGFはARGVの発展系、ARGVが大文字でグローバルなのは多分awkが元
他の言語もそれに習ってるからrubyもそれに習っているんだろう
- 245 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:27:10 ]
- >>241
どこかでMatzが 「特殊変数周りの仕様はPerlから引きずった。今では後悔している」 的なことを書いてたような いずれにせよ、一貫性がないという意見には同意
- 246 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:41:46 ]
- Perlからの脱却
ってのがRubyの精神じゃなかったっけ…
- 247 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:44:06 ]
- Ruby2.0では特殊変数は一新するんじゃない?
- 248 名前:デフォルトの名無しさん [2009/09/22(火) 23:22:18 ]
- 以下のような感じでセッションにアクセスしているのですが
リロードするたびにセッションIDが変わってしまいうまく数値を取り出せないです。 どなたか助言をよろしくおねがいします。 def GetSession() cgi = CGI.new session_option = {"tmpdir" => "./"} session = CGI::Session.new(cgi, session_option) return session end
- 249 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:43:38 ]
- 色々と突っ込みたい所はあるが、まずはtmpdirにセッション情報が書き込まれたファイルが存在しているかどうかを確認するんだ。
- 250 名前:デフォルトの名無しさん [2009/09/22(火) 23:48:07 ]
- ファイルが作成されているのが確認できました。
リロードするたびに増えていきます。 サーバー側の問題でしょうか?
- 251 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:58:52 ]
- ようし、じゃあ次はFirefoxにFirebugを入れてcookieの受信と送信ができているか確認するんだ。
CGIモジュールの仕様はよく知らんが、きっとセッションIDをクッキーに入れて送ってきてくれているはずだぞ!
- 252 名前:デフォルトの名無しさん [2009/09/23(水) 00:15:52 ]
- クッキーのリストが反応しないみたいです、他のサイトだとExpiresの項目にsessionというのが出てきています。
- 253 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:50:05 ]
- で、セッションを発行したときのレスポンスヘッダにSet-Cookieはあったのか?
- 254 名前:デフォルトの名無しさん [2009/09/23(水) 00:58:52 ]
- まじキチ…ユダヤが人工地震を起こすぞ
【緊急情報カクサンよろしく】 ついに来ました。 大きい動きです。250nT超えてきました。ほぼ間違いありません。もう一度言います。 友人、知人、親類縁者、あらゆるつながりを駆使して巨大地震がくることを教えて下さい。 四川地震より大きいのが来る可能性があります。 g★olde★ntam★atama.b★lo★g84.fc2.c★om/ ★★★★★危険度MAX★★★★★ ★★★★★★★★★★★★★★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★★★★★★★★★★★★★★★★ ★★★★★危険度MAX★★★★★ 警告!連休中の21、22、23日が危ない!かも2 live24.2ch.net/test/read.cgi/eq/1★253494015/ 【大気イオン】e-PISCO Part11【また延長】 live24.2ch.net/test/read.cgi/eq/1★252991726/ 本当に地震が来たら、犯人は特権階級全員だということ2
- 255 名前:デフォルトの名無しさん [2009/09/23(水) 01:01:28 ]
- すいませんレスポンスヘッダを確認することができませんでした。
Firefoxのコンソールで確認できるような事を書いてあるサイトを見つけたのですが うまく確認できませんでした。
- 256 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:04:36 ]
- >>2555
Firebugでの見方がわからんならLive HTTP Headers入れろ。
- 257 名前:デフォルトの名無しさん [2009/09/23(水) 01:17:14 ]
- ありがとうございます、インストールしてみました。
レスポンスヘッダにCookieと名前のつく項目はなかったです。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:20:23 ]
- じゃあそれが原因だろw
ってかCGIクラスのインスタンスって何度も生成したらバグるんじゃないの? 関数の中でインスタンス作成して、破棄しているあたりからして使い方が間違ってるんじゃないのかと。
- 259 名前:デフォルトの名無しさん [2009/09/23(水) 01:26:40 ]
- なるほど、少し簡単なプログラムを作って実験してみます。
rubyは明確なルールが分かりづらくて難しいですね。 ありがとうございました。
- 260 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:32:05 ]
- 問題はHTTPの理解のほうじゃないだろうか。
- 261 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:46:05 ]
- >>248
たんにHttpヘッダーを送信してないだけかも。 「ruby cgi session」でぐぐったら、こんなページがあった。 ttp://d.hatena.ne.jp/tilfin/20080229/1204360284 参考にしてみて。
- 262 名前:デフォルトの名無しさん [2009/09/23(水) 02:23:35 ]
- ありがとうございます、確認してみたらヘッダーはERBを処理した後に追加しているので問題なさそうでした。
erb = File.open(path) { |f| ERB.new(f.read) } print cgi.header + erb.result(binding) 以下のようなtest.rbというのを作成して実験してみたところうまくいきましたが 本番用のソースだとうまくいかないようです>< #!/usr/local/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new session = CGI::Session.new(cgi) print cgi.header print "session test'#{session.session_id}'\n" まだ解決していませんがデバック方法やアドバイスなど、とても勉強になりました。 本当にありがとうございました。 もう少し自分なりにrubyやhtmlの勉強を行ってみます。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 07:51:45 ]
- どうしても分からなければ
ソースをまるごと貼り付けて、アドバイスを求めるという手もある もちろん自力で解決できるならその方がいいけど
- 264 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 08:05:08 ]
- 2chに投稿するとインデントがなくなってすごく見にくいんだけど、JaneStyleのリンクポップアップで
見るとちゃんとインデントされてる! それをコピーしたらインデント付きでコピーもできる! 全角スペースや によるインデントを使う必要なし!
- 265 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:05:48 ]
- >>264
書き込み時に置換面倒なんだけど、ソースとリンクを毎回書き込むのが面倒なのだが
- 266 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:15:02 ]
- コードを貼付ける場合、どうせなら
ttp://pastie.org/ とか ttp://gist.github.com/ とか使うといいんじゃないかな。 詳しくは ttp://journal.mycom.co.jp/news/2009/02/09/014/index.html
- 267 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:20:00 ]
- 長い場合はそのほうが望ましいけど
短い場合はそのまま貼ってくれたほうがいいな あとインデント類の扱いは2chブラウザごとに全然違うらしいよ
- 268 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:32:03 ]
- rubyのせいにしてるが、http知らないと実装は無理なんじゃ。
- 269 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:35:06 ]
- CGIも知ってないと無理な悪寒
- 270 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:38:57 ]
- アホばっかだな・・・
ソース張ってるんだからrubyが原因って一発で原因わかるだろw
- 271 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:52:44 ]
- 正しくrubyをかくための
http,cgiの前提知識が足りないのかもしれん
- 272 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:47:00 ]
- Rubyって、GUIアプリを作れるの?
- 273 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:56:01 ]
- Ruby 自身は GUI 部品を持ってない
GUI 部品を司る他の言語や API を直接呼ぶ 一般論としては、GUI が目的なら Ruby を使う理由は何もない 素直に GUI 部品を提供する他の言語を使え Windows でウィンドウを表示したけりゃ、そりゃ C# を使えばいいのさ
- 274 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:03:27 ]
- うわ 糞言語じゃん
- 275 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:05:01 ]
- >>274
GUI部品がどういうふうに成り立ってるか理解してないだろ、おまえ。
|

|