11 月 28 日 第 9 回レポート 「CGI スクリプトを作ってみよう」 c106XXXX XXXXXXXX 中国語 環境系 ■■1、筆記問題 【A】momo=[0,9,7], komomo=[3,4,5] (komomo+momo).sort.reverse はどうなるか。 ----------------------------------------------------------- #!/usr/koeki/bin/ruby momo=[0,9,7] komomo=[3,4,5] p komomo + momo a = komomo + momo p a.sort #小さい順に並び替えられる b = a.sort p b.reverse #大きい順に並び替えられる ---------------------------------------------------------- ◯p komomo + momo だけだと、 →実行結果 irsv{c106122}% ./momo.rb [~/Ruby] [3, 4, 5, 0, 9, 7] になる。それぞれの変数にしまわれている数が、順番に表示された。 ◯p komomo + momo a = komomo + momo p a.sort →実行結果 irsv{c106122}% ./momo.rb [~/Ruby] [3, 4, 5, 0, 9, 7] [0, 3, 4, 5, 7, 9] になる。.sort がつくことで、しまわれていた数が混ざり、小さい順に並び変わっ た。 ◯p komomo + momo a = komomo + momo p a.sort b = a.sort p b.reverse →実行結果 irsv{c106122}% ./momo.rb [~/Ruby] [3, 4, 5, 0, 9, 7] [0, 3, 4, 5, 7, 9] [9, 7, 5, 4, 3, 0] になる。.sort.reverse がつくことで、大きい順に並び変わった。 【B】 -------------------------------------------------------------------------- alphabet[15] は、「p」 理由 ) 配列は、0 から始まるので 0 から数え始めて15番目は「p」になる。 -------------------------------------------------------------------------- alphabet[28] は、「表示されない」 理由 ) アルファベットは26個である。さらに、配列は 0 から始まることもあり、 z は配列の 25個目になる。よって、配列がないので表示されない。 -------------------------------------------------------------------------- ■■2、CGI スクリプトプログラム。適当な占い ◎irouranai.rb------------------------------------------------------------ a、設定 1番好きな色を選んで、性格診断。 b、プログラム #!/usr/bin/env ruby $KCODE = 'e' require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") namae = cgi["namae"] iro = cgi["iro"] print("\n") print("
\n") print("") print("【女性は】
\n") print("活発で明るい性格です。
\n") print("少し利己的なところがあるかな。
\n") print("好奇心が人一倍強くて、刺激的なものを好むほうですね。
\n") print("とても行動力があるのだけど、つまらないミスをすることがあるので気を付けて。
\n") print("【男性は】
\n") print("積極的で何事も恐れない闘志と勇気を持っています。
\n") print("自己顕示欲が強く、そのためにちょっと気配りが不足しがちかな。
\n") print("グループの中では、なかなか、なじめない方ですね。
\n") elsif iro[0] == "青" printf("【女性は】
\n") print("繊細な感情の持ち主ですね。
\n") print("でも、少し気むずかしい所があるようですね。
\n") print("服や靴やバッグなど、外の人と同じ色のものを好みません。
\n\n") print("【男性は】
\n") print("少し短気な所があります。
\n") print("でも、直感力に優れ、大きな仕事をこなしますよ。
\n") print("あまり、単調な仕事には向きませんね。
\n") elsif iro[0] == "緑" printf("【女性は】
\n") print("かしこさが輝き出ているような人ですね。
\n") print("ユーモアもあり、ものごとの理解も早いです。
\n\n") print("【男性は】
\n") print("明るくて陽気で、社交的ですね。
\n") print("人間関係を大切にし、とても親切です。
\n") print("でも、どこか無責任な所があります。
\n") elsif iro[0] == "オレンジ" printf("【女性は】
\n") print("人間味があり、情のこまやかな暖かい性格ですね。
\n") print("でも、情に溺れることもなく、一定の距離を保った人間関係を好む方ですね。
\n\n") print("【男性は】
\n") print("自分には厳しいですが、人には寛大で親切です。
\n") print("とても子煩悩です。
\n") print("なかなか胸のうちを明かしませんが、1度親しくなると、頼りがいのある友達になってくれることでしょう。
\n") elsif iro[0] == "ピンク" printf("【女性は】
\n") print("人に対してやさしく、好人物ですね。
\n") print("ちょっと派手に見える所もありますけど。
\n") print("本質的には、内気な性格です。
\n") print("仕事や人間関係では、責任感の強いタイプです。
\n\n") print("【男性は】
\n") print("神経質で傷つきやすい性格です。
\n") print("でも、以外と精神的に強い一面を持っていますよ。
\n") print("精神面でも行動的でもやや積極性にかけること所があるかな。
\n") elsif iro[0] == "紫" printf("【女性は】
\n") print("女性として魅力を武器に積極的に行動するタイプです。
\n\n") print("望みも高く、とても野心家ですね。
\n") print("【男性は】
\n") print("上流志向ですね。
\n") print("でも、どこか人を見下したような所があります。
\n") print("<金銭的にルーズにならないように気を付けて下さい。/p>\n") print("
\n") elsif iro[0] == "白" printf("【女性は】
\n") print("控えめで上品な女性ですね。
\n\n") print("とてもこまやかな神経の持ち主です。
\n") print("消極的になりすぎて、いいチャンスを逃がさないように気を付けましょう。
\n\n") print("友達としては最高です。
\n") print("【男性は】
\n") print("冷静沈着で、自己中心的な性格です。
\n") print("他人に対しては、いたって無関心な所がありますね。
\n") print("野外でするスポーツが好きでしょう。
\n") end print("\n") print("\n") c、考察 「\n\n」にしても、間隔が変わらないことが分かった。 d、参考 ・インターネット 「色占い」 http://www.koufuku.ne.jp/color/ ・インターネット 「カラーチャート」 http://www.metalmart.co.jp/color/color.cgi ・第9回 「CGI スクリプトを作ってみよう」 http://roy/~madoka/2007/r2/09/index.html ・第 10 回 「Ruby で CGI スクリプト」 http://roy/~madoka/2007/r2/10/index.html ◎irouranai.html----------------------------------------------------------1番好きな色を選んでね!
◎ akiko.css----------------------------------------------------------------- body { background: gray; } .red { color: red; } .blue { color:blue; } .green { color: green; } .orange { color: orange; } .pink { color: pink; } .purple { color: purple; } .white { color: white; } --------------------------------------------------------------------------- ■■3、logo-r2-c106122.png ◎参考 授業ホームページ 第11回「アイディアの整頓 / ロゴ作成」 http://roy/~madoka/2007/r1/11/ --------------------------------------------------------------------------- ■■4、感想 Ruby に関して、ずいぶん長い間勉強している様な気がします。最初は手も足も 出せない状態でしたが、いろいろな Method を学習して、これを使えばどんなプ ログラムを作ることができるのか考えることができ、作れるプログラムが増え ました。分からないものもまだまだありますが。時々ひらめいて、自分なりによ くやれたプログラムを作れたときは感慨無量な気持ちになりました。