PDA

View Full Version : Ruby! php!


ruby164
2001/10/11, 02:37 AM
Perlのフォーラムは随分盛り上がっているようですが・・・

みなさん!PHPやRUBYで書きましょう!
というか、どなたかいらっしゃいませんか?特にRUBY。
情報交換してもらえる方、募集です!

RUBYでCGIを書くときの、フォームからのデータの受け取りがいまいちわかりません。
cgi-libをrequireしておいて、input[hoge]で格納して、文字列の中で変数を呼び出すときは#{hoge}と書く・・・
と考えて合っていますか?

それと、もちろん冒頭の2行を書く

というくらいでしょうか?

どなたかよろしくおねがいします〜

Rubyのホームページ
 http://ruby164.s2.xrea.com/

PHPのホームページ(未完成)
 http://ruby164.s5.xrea.com/

GATU
2001/10/12, 11:50 PM
...
require "cgi"
input = CGI.new
hoge = input["hoge"]
...
str = "hoge : #{hoge}"

とか
str = "hoge : " + hoge
でも

ものの本では、
hoge = input["hoge"][0].to_s
とか書いてありましたね。

ban
2001/10/13, 12:01 AM
PHPは変数受け渡しについて気にする必要もなく、そのまま変数に格納されるのですごく便利ですよー。

Rubyは使ったことがないので残念ながらわかりませんが・・。

PHPはかなり気に入ってます。よかったら挑戦してみてください(笑)

ruby164
2001/10/13, 12:37 AM
はじめまして♪レスありがとうございます!
require "cgi"

require "cgi-lib"
って違うんですかね?

やっぱりRuby/CGIのHPを書くならあの本買わないといけないですよね(^ ^;
今はあの本しか出てないし。第一版は間違っているところが多いので第二版がいいらしいです。(直々にメールで教えてもらいました:D

そうですねぇ。PHPとRubyを並行してやってるんですが、PHPは楽ですね〜。書き方もPHPのほうが解りやすいかなぁ、なんて思ってます。
だってRubyはfor文使えないから・・・。それに今書いてるBBSのスクリプトはどうしたものかif文の部分で苦戦しちゃってて、、、混乱しちゃって、最初から書きなおそうかと思ってます。

PHPのほうのホームページを一応綺麗にして掲示板も設置しました。RubyのほうはRubyで書いた掲示板ができるまでPHPで書いたやつ使おうかと思ってます。近々。

Rubyのホームページ
http://ruby164.s2.xrea.com/

PHPのホームページ(更新!)
http://ruby164.s5.xrea.com/

GATU
2001/10/13, 01:03 AM
はじめまして。よろしく。
cgi-lib.rbは、1.4.6から未サポートになったというのをどこかで見ました。
ここにも書いてあります。
http://www.spc.gr.jp/sho/norika/200008.html

sci
2001/10/13, 01:06 AM
確か、 cgi-lib.rbではなく、cgi.rbを使うようにとどこかに書いてありましたね。

ruby164
2001/10/13, 01:14 AM
Ruby プログラミング入門
は第2版出てるんですかね?微妙に間違いがあって、初心者のぼくにとってはかなりの悩みの種になったりします:(

そうだったのですか・・・・・情報収集不足でした・・・。もしかしてそれが原因で動かないのかもしれないですね。
簡易掲示板のほうではcgi-libでも動いてたんですけどね。
でもそうしなさいということは素直にそうします。なにかのトラブルの原因になってる可能性はありますもんね。

ありがとうございます〜

GATU
2001/10/13, 01:22 AM
あ、そっちじゃなくて、私の第1版は、
『RubyによるCGIプログラミング』三並慶佐 著
の方です。
オブジェクト指向の設計を追求するためではなく、
CGIのhow toものとしてならいいのでは?

tukuyomi
2001/10/13, 12:34 PM
Ruby でも for 文使えますよ。

cgi-lib.rb では、input[hoge] でしたけど、cgi.rb では同じ名前で複数の
value を得ることができますので、配列で受け取る必要がある
ようです。input[hoge][0] としないとだめみたいですね。

ruby164
2001/10/13, 01:55 PM
ほんとだ。。。
Rubyプログラミング入門の制御構造のところに書いてなかったから使えないものだと思ってました。

欲を言わせてもらうとCやPHPのように
for(i=0;i<=10;i++){
}
みたいに書きたいです・・。

Ruby
http://ruby164.s2.xrea.com/

PHP
http://ruby164.s5.xrea.com/

dimbula
2001/10/14, 12:03 AM
同じ意味のを Ruby でやると、


for i in 0 .. 10
print "i: #{i}\n"
end


こんな感じだと思いますが、やっぱお気に召しません?

僕は C の for よりは、こっちの方が好みですが。

# 個人的には、Ruby でループするならイテレータだと思う。

GATU
2001/10/14, 12:08 AM
Originally posted by ruby164
欲を言わせてもらうとCやPHPのように
for(i=0;i<=10;i++){
}
みたいに書きたいです・・。


回数を指定した繰り返し処理なら、
10.times {
print "hoge\n"
}
とか?

配列の各要素についての繰り返しを添字無しでできることがうれしかった
ですが。
["foo","bar","baz"].each { |i|
print i , "\n"
}
とか

あまりfor文は使わなくなったような気がします。

dimbula
2001/10/14, 12:27 AM
> あまりfor文は使わなくなったような気がします。

同じく。

http://www.ruby-lang.org/ja/column/v0003.html

を見て、僕も Ruby ではイテレータの方を主に使うようになりました。楽だし便利だし。

# ところで、ページ拝見しましたが、可愛いお子さんですね :)

ruby164
2001/10/14, 01:32 AM
かわいいだなんて言われると思いませんでした・・・。なんか複雑な・・
ほんと、初心者なんです。始めて1ヶ月もたっていません。
#僕はGATUさんのページを拝見して感動しました。こういう大人になりたいと思いました

Cのforがいいんです!!なんて、最初に理解したのがCのfor文なので慣れてないだけです。すいません。
for文について、よ〜くわかりました。。。やっぱりRubyは簡単に書けるんですね。そっちに慣れればそっちのほうが楽なんですね。

それでもって今Cookieについて悪戦苦闘しております。リファレンスのcookieのところ見てもいまいちよくわかんないんです。新たにスレッドたてちゃっていいのかなぁ?なんか自分、すごくくだらない質問ばっかりで恐縮してます。
それなのにみなさんご丁寧にありがとうございます。感無量です

Ruby
http://ruby164.s2.xrea.com/
PHP
http://ruby164.s5.xrea.com/

dimbula
2001/10/14, 02:55 AM
ruby164さん:
> かわいいだなんて言われると思いませんでした・・・。なんか複雑な・・

書き方が悪かったのか、なにか妙な誤解を招いてしまったようですね。すいません。

僕の言った、

> # ところで、ページ拝見しましたが、可愛いお子さんですね :)

というのは、GATU さんに向けたものです。GATU さんとこのお子さんの写真を見て、「無邪気で可愛いなぁ。自分もこんな可愛らしい時期があったんかねぇ」と思ったワケで。なので、複雑な気分にならずとも大丈夫です :)

ところで、

> 最初に理解したのがCのfor文なので慣れてないだけです。

ってのは、僕にも経験あります。僕の場合、最初に触った言語は Java だったんですが、C/C++ に慣れるまで結構かかりました。

ruby164
2001/10/14, 11:18 AM
おもいっきり勘違いしてしまいました・・・。ごめんなさい!
あまりに初歩的なことをやってるのでそれを「お子様だね」といわれているのかと思いました。

ついでですので、、、
たしかにぼく、かなりの初心者ですけど、自分なりに頑張ってやってるんですよ。それなのにベテランの方の中にはチクリと批判的なことを言われる方がいらっしゃるので、それにこないだ掲示板はnoembedタグでログを見えなくされてしまったし。
ネット上であっても嫌なことをされると本気で落ち込むんです。何日か考え込んでしまいます。
でも逆に親切な方がいらっしゃると本気でうれしいんです。
特にGATUさんやdimbulaさんには立て続けお返事いただいて。それで感無量なんです。

ところで掲示板いちおう形になったのですが、ロックとアンロック、それからクッキーができていないので、今日本買ってきて夜には完成させたいと思ってます。

dimbula
2001/10/14, 12:56 PM
ruby164さん:
> あまりに初歩的なことをやってるのでそれを「お子様だね」といわれているのかと思いました。

まさか。人様にそんなこと言えるほど大人じゃないです、僕は ;)

> それなのにベテランの方の中にはチクリと批判的なことを言われる方がいらっしゃるので、

自分が初心者だった頃のことを、少しばかり忘れちゃってるんだと思います。そういうことを言う人は。

それと、ビギナーというのは、同じことをするにしても、ベテランに比べて非効率的になりがちです。より効率的なやり方を知っているベテランとしては、見ていて歯がゆいんでしょうね、多分。

> それにこないだ掲示板はnoembedタグでログを見えなくされてしまったし。

掲示板やチャットでは、タグを使えないようにするのが無難ですよ。特に、IMG タグなどで自由に画像を表示できるようにしてしまうと、知らない間に荒らしの踏み台になる可能性もありますので。

tukuyomi
2001/10/14, 02:07 PM
Originally posted by ruby164

ところで掲示板いちおう形になったのですが、ロックとアンロック、それからクッキーができていないので、今日本買ってきて夜には完成させたいと思ってます。

三並さんの本をご参考にされるおつもりでしたら、WEB上に正誤表がありますので、
そちらも参照されるといいですよ。クッキーのセット部分も正誤表の対象になってます。

http://www.rubycgi.org/ruby_cgi_book/errata_location.htm

私も初心者で、本の通りにクッキーセットしたのに、うまくいきませんでした。
ネットをうろうろしてようやく正誤表にたどりつけました。

ruby164
2001/10/14, 06:03 PM
>それと、ビギナーというのは、同じことをするにしても、ベテランに比べて非効率的になりがちです。より効率的なやり方を知っているベテランとしては、見ていて歯がゆいんでしょうね、多分。

そうですね。その通りだと思います。でもベテランの方ももともとは初心者だったんですものね。それでも答えていただいて感謝してます。
それにしてもすみませんでしたdimbulaさん!
今日、本を買いにいったのですが、みつからず、あきらめて帰ってきました。もし本を買ってそれをみてやっていたらうまくいかなかったところでした!
とはいっても今度見つけたら買いますけどね・・。

さぁ、頑張ってつくりま〜す!!!

GATU
2001/10/15, 12:28 AM
Originally posted by ruby164

#僕はGATUさんのページを拝見して感動しました。こういう大人になりたいと思いました


いやいや、掲示板しかないし。いつも人の意見を聞くばっかりで
あんまり自分がない。仕事ばっかりの毎日。

GATU
2001/10/15, 12:44 AM
Originally posted by dimbula
[COLOR=royalblue]# ところで、ページ拝見しましたが、可愛いお子さんですね :)

このころはね。誰でもそういう時はあるのかもしれないです。
この写真はこの子のいとこの中学生が撮った写真なんですよ。
ちょうどこの子に妹が産まれた時のものです。
貴重な一枚です。

すみません。全然関係ない話で。
最初はbshでCGIを作ってたんですけど、Rubyに出会ってからは
もうこれしかないという感じで作り直しましたね。
周りにも薦めているんですが、Windowsでの動作がどうか不安ではあります。
話題がそれるので、このへんで。

ruby164
2001/10/15, 12:56 AM
ぼくも子供大好きなんですよー!!!
いつも知らないお子さんみてニヤッとしてしまいます。ぼくの夢は暖かい家族をつくることです

bshでCGIですか〜。やってみたいです。いろんな言語を広く浅く触ってるのですが、やっとCGIとはなんぞやということを理解してきて、「ってことはbshやcsh、tcshなんかでもCGI組めるのかな!?」なんて思っていたところです。考えてみれば当たり前の話でしたね・・・。またもや自分の無知さに愕然。

ところでCookie、うまくできました!あとはファイルロックをちょちょいとやって、、、と思いきやs2サーバがつながらなくなっちゃって。。

みなさんの協力あっての掲示板がもうすぐ完成です。ほんと、感謝してます。(2ページ目まできちゃって。。。)

ruby164
2001/10/16, 01:48 AM
とうとうお騒がせしてしまっていた掲示板が、いちおう形になって公開に至りました!

みなさん、本当にありがとうございました。みなさんの助言なしではとうていここまでこれなかったと思います。本当に。

スレッドがこんなに長くなっちゃって気が引けたのですが、以前「できたら報告します」と言ったので、報告させていただきました。

うっかりバックアップファイルの作成をわすれてしまったのですが、さすがにそれは自分で考えて直します。次の目標は過去のログも見れるようにすることです。また詰まってしまったら、質問させていただくかもしれませんが、そのときはご指導のほど、(もし、よければ)お願いします!

このトップページの'bbs'というリンクから入れます。感想など書きこんでくださるとうれしいです。
http://ruby164.s2.xrea.com/

本当にありがとうございました!

sci
2001/10/16, 07:42 AM
動作報告です。
広告以外、何も表示されませんでした。



13行目でエラーのようです。


outvalue = values[0].value


試しにコマンドラインから実行したところ、次のエラーが返りました。


./bbs.cgi:13: undefined method `value' for nil (NameError)


たぶん、クッキーがセットされていないと、ここに値が入らないからだと思います。

そこで、試しに

values = cgi.cookies.values
if values[0]
outvalue = values[0].value
end

if outvalue
name = outvalue[0]
email = outvalue[1]
url = outvalue[2]
end

としたところ、とりあえず表示されました。

まずは報告まで。

ruby164
2001/10/16, 03:14 PM
今日、家に帰ったら即、直しておきます。

ご報告、ありがとうございました。