Perlコーディング初心者質問スレ Part 55
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/30(水) 11:34:01ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >>2-10
前スレ http://pc11.2ch.net/test/read.cgi/php/1171102883/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0334326
2007/07/03(火) 14:43:10ID:8gn4hJb2つまりrand 1の返り血が1であることは100%ないということですか?
なるほど。0~1というのは自分の勘違いですね。
>>328
これはどうなるんですか?
-1から始まって0までが選択される?
つまり -1<rand(-1) and 0<=rand(-1) ということですか?
なんかこんがらがりそうorz
0335326
2007/07/03(火) 14:45:30ID:8gn4hJb20以上1未満ということで。感謝ですm(__)m
0336328
2007/07/03(火) 15:51:45ID:???そうなの?
use strict;
use warnings;
print rand(-1); # -0.689697265625 が出た。strict も warnings も何も言わない。
>>334
rand(1) が返すのは0以上1未満の値。なので>>330へのお返事についてはそのとおり。
>>328は、上で負数を食わすな的に言われてるから忘れてください。
0337328
2007/07/03(火) 15:53:35ID:???perldoc -f rand
> Returns a random fractional number greater than or equal to 0
> and less than the value of EXPR. (EXPR should be positive.)
知らなんだ。>>333ありがとう。
0338nobodyさん
2007/07/03(火) 16:08:03ID:???望ましい(should be)だから絶対だめというわけではない
ねばならない(must be)ならだめだけど
0339nobodyさん
2007/07/03(火) 18:04:35ID:???今の実装なら負でも特に問題なさそう。
0340326
2007/07/03(火) 22:37:20ID:8gn4hJb2# 設定
my $set = 0;
# 各役確率設定別
my @rep = 1/7.29, 1/7.29, 1/7.29, 1/7.29, 1/7.29, 1/7.29;
my @che = 1/39.20, 1/39.15, 1/39.10, 1/39.03, 1/38.99, 1/38.92;
my @mus = 1/5.26, 1/5.22, 1/5.18, 1/5.14, 1/4.95, 1/4.88;
my @zou = 1/168.0, 1/166.3, 1/165.0, 1/162.6, 1/160.6, 1/159.0;
my @bel = 1/291.2, 1/286.1, 1/282.4, 1/275.3, 1/269.7, 1/265.3;
my @big = 1/1598.4, 1/1560.3, 1/1489.4, 1/1424.7, 1/1337.4, 1/1260.3;
my @reg = 1/2259.8, 1/2114.0, 1/1872.4, 1/1771.2, 1/1598.4, 1/1489.4;
# 決定各役確率
my $rep = $rep[$set];
my $che = $che[$set];
my $mus = $mus[$set];
my $zou = $zou[$set];
my $bel = $bel[$set];
my $big = $big[$set];
my $reg = $reg[$set];
# 各初期値
my $medal = 0;
my $in = 0;
my $out = 0;
my $game = 10000;
0341326
2007/07/03(火) 22:41:20ID:8gn4hJb2# 乱数取得
my $a = 1 - rand(1);
# コインを入れた
$in += 3;
# 取得乱数に応じた挙動
if($a>0 and $a<=$rep){
$out += 3;
}elsif($a>$rep and $a<=$rep+$che){
$out += 4;
}elsif($a>$rep+$che and $a<=$rep+$che+$mus){
$out += 7;
}elsif($a>$rep+$che+$mus and $a<=$rep+$che+$mus+$zou){
$out += 10;
}elsif($a>$rep+$che+$mus+$zou and $a<=$rep+$che+$mus+$zou+$bel){
$out += 15;
}elsif($a>$rep+$che+$mus+$zou+$bel and $a<=$rep+$che+$mus+$zou+$bel+$big){
$out += 350;
}elsif($a>$rep+$che+$mus+$zou+$bel+$big and $a<=$rep+$che+$mus+$zou+$bel+$reg){
$out += 104;
}elsif($a>$rep+$che+$mus+$zou+$bel+$big+$reg and $a<=1){
# ハズレなので何もない
}else{
print "error";
}
}
これを実行したところerrorがprintされてしまうのです。
0342326
2007/07/03(火) 22:42:43ID:8gn4hJb2my $a = 1 - rand(1);
この方法での乱数取得が
$a>0 and $a<=1;
を満たせない時が存在してることになってしまいます。
単純にそのほかの部分の自分のミスだと思うのですが見つけられません。
アドバイスお願いできますでしょうか?
もしよろしければ上記のコードを数度実行してみて確認もしてみてください。
0343326
2007/07/03(火) 23:34:12ID:8gn4hJb2activeperl 5.8.1
windowsXP
遅ればせながらこちらの実行環境になります。
0344nobodyさん
2007/07/03(火) 23:45:02ID:???my @rep = 1/7.29, 1/7.29, 1/7.29, 1/7.29, 1/7.29, 1/7.29;
これは
my @rep = 1/7.29;
に等しいって気付いているか?
0345nobodyさん
2007/07/03(火) 23:55:10ID:???0346nobodyさん
2007/07/03(火) 23:58:23ID:???0347nobodyさん
2007/07/04(水) 00:07:43ID:???とりあえず、変数の並びが法則に反してるとこ一か所あるけど、
それで正しいの?
0349nobodyさん
2007/07/04(水) 00:21:06ID:???名前がないものは当然取得できないですが、
名前のあるものも取得する手段はないということでしょうか。
0350326
2007/07/04(水) 00:36:21ID:GRubSazoなるほど。確認したところ、0.342-0.343あたりの時にerrorになってるようです。
$musのあたりになるはずですが・・・なんでこんなことになるのでしょう。
>>344
すいません、たまにしか触らないのでどうしても細かい部分は忘れて無難な方法を取りガチです。
>>347
ぜひどこなのか教えてください。
0351326
2007/07/04(水) 00:41:01ID:GRubSazo}elsif($a>$rep+$che+$mus+$zou+$bel+$big and $a<=$rep+$che+$mus+$zou+$bel+$reg){
ここでしたorz
0352326
2007/07/04(水) 00:52:15ID:GRubSazo0353nobodyさん
2007/07/04(水) 01:54:39ID:1Rhv3smG404を返したいんですが、その後の表示(ErrorDocument)を
htaccessなどの指定に従う方法はあるでしょうか。
CGIにエラーページを持たせたくないという理由です。
apacheに丸投げできればいいんですが、何らかの方法で
htaccessに指定されたパスを取得して自分で出力してもいいです。
よろしくお願いします。
0354nobodyさん
2007/07/04(水) 02:00:20ID:???それ見た10人が10人ともCGIスクリプトが存在しないと思うだろうけど。
0355nobodyさん
2007/07/04(水) 02:22:20ID:???例えば、検索ロボットがblog.cgi?a=1を見に行って、404だったら、
blog.cgiが消えたものとしてblog.cgi?a=2もDBから削除するでしょうか。
実際はそんなことしないとは思いますが、
世の中のルール的には、そうされてもやむなしでしょうか。
0356nobodyさん
2007/07/04(水) 02:30:20ID:???リダイレクトだと301を返すことにならないでしょうか。
読み込む場合、パスをハードコーディングしたくないのです。
0357nobodyさん
2007/07/04(水) 02:41:56ID:???世の中のルール的になんちゃらとかもよくわかんないけど、
とりあえず400は違うだろうし(410のこと?)、301だけがリダイレクトじゃないと思うよ。
つーか、Perlはあまり関係なさそうですよ。
CGI: Common Gateway Interface part 13
http://pc11.2ch.net/test/read.cgi/php/1126436361/
△▲ WebProg 初心者の質問 Part15 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1169725490/
0358nobodyさん
2007/07/04(水) 02:53:29ID:???404でよかったみたいですね。
やっぱり、blog.cgiの設定項目として
ErrorDocumentを指定させるような仕様に
してみようと思います。ありがとうございました。
0359nobodyさん
2007/07/04(水) 02:58:38ID:???0360nobodyさん
2007/07/04(水) 04:31:59ID:???0361nobodyさん
2007/07/04(水) 17:36:06ID:???@hogeは値が帰ってくるものの、末尾に2つ空の要素が入り、$hoge1と$hoge2に値を返すことが出来ていません。
このような場合どう記述するのでしょうか?
sub main {
my (@hoge, $hoge1, $hoge2) = &hogehoge();
}
sub hogehoge {
return (@ho, $ho1, $ho2);
}
0362nobodyさん
2007/07/04(水) 17:41:24ID:???0363nobodyさん
2007/07/04(水) 17:46:44ID:???つまり、(@hoge, $hoge1, $hoge2)っていう書き方だと、配列の末尾に値を追加するという意味になってしまうのでダメ
ということでしょうか。
# でも、配列が2つ以上だったらどうするんでしょう…
0364nobodyさん
2007/07/04(水) 17:49:00ID:???0365nobodyさん
2007/07/04(水) 17:59:20ID:???リファレンスはよくわかってないですが、そういう時に使うんですか。ありがとうございました。
# と、今回は配列1個だけだから、>>362の方法で乗り切りましたw
0366nobodyさん
2007/07/04(水) 18:40:00ID:???見た目ならリファレンスのが綺麗かなぁ
0367nobodyさん
2007/07/04(水) 19:19:57ID:???0368nobodyさん
2007/07/05(木) 04:46:34ID:Ees4tlLi1.ソースの冒頭の方で呼び出す
2.その特定の処理の中で呼び出す
どちらが一般的なんでしょうか?
0369nobodyさん
2007/07/05(木) 04:55:41ID:???0370368
2007/07/05(木) 05:16:30ID:???配布前提の場合は、ライブラリのパスを設定したり、どのモジュールを使用するかを
利用者に分かりやすく書く必要があるのでまた特別かなと思ったりもするんですが
やはり冒頭にまとめて書くのが普通なんですかね。
めったに使われない処理のためだけにモジュールを毎回呼び出すのって
何か妙に無駄な気がしてしまうんですが、どうなんでしょうか。
0371nobodyさん
2007/07/05(木) 05:58:33ID:???そこで必要なモジュールや処理の補則をすれば問題ないじゃない
0372nobodyさん
2007/07/05(木) 06:25:44ID:???0374nobodyさん
2007/07/05(木) 10:45:56ID:???プラグインみたいな使い方じゃない限り素直に読み込ませた方がいいんじゃないかな
0375nobodyさん
2007/07/05(木) 11:06:56ID:???ってバニング大尉が言ってた
0376nobodyさん
2007/07/05(木) 11:33:04ID:???使ってる変数全部まとめて最初にmy宣言、ってのはアリ?
例えば
$title = 'タイトル';
$hoge01 = '値1';
$hoge02 = '値2';
.......
ってのを
my $title = 'タイトル';
my $hoge01 = '値1';
my $hoge02 = '値2';
とせずに
my ($title,$hoge01,$hoge02);
$title = 'タイトル';
$hoge01 = '値1';
$hoge02 = '値2';
ってやると、何かマズイとこありますか?
あまり美しくない程度ですか?
0377nobodyさん
2007/07/05(木) 11:45:14ID:???変数名しらべて書き並べるより楽じゃない?
0378nobodyさん
2007/07/05(木) 11:46:32ID:???my ($title,$hoge01,$hoge02) = qw(タイトル 値01 値02);
0380376
2007/07/05(木) 12:03:58ID:???どっちでも良いと分かって一安心。
前半同じ名前で後半の数字が違うだけ、って変数名が多いんで
調べる手間はそんなかなぁ、と思ってたけど、結局全部網羅するとなると
大して作業量は変わらないかな・・・。
>>378
それはムチャクチャ長くなりそうなんで、ちょっと勘弁w
アドバイス感謝!
0381378
2007/07/05(木) 12:15:33ID:???my ($authID, $authPASS, $authEXP) = qw(〜); # 認証関連
my ($htmlTITLE, $htmlSUBTITLE, $htmlCSS) = qw(〜);
のように似てるもの同士でまとめて書くのよ
0382nobodyさん
2007/07/05(木) 13:21:28ID:rw6MBlh965,536byteは60KB以上で間違いありませんか?
0383nobodyさん
2007/07/05(木) 13:23:29ID:???0384nobodyさん
2007/07/05(木) 13:49:32ID:rw6MBlh9答えたことはあるけどな。>>19と>>362の二回だけ。
もういいや。ありがとうございます。たしかGNOME電卓にそんな機能が・・・
0385nobodyさん
2007/07/05(木) 13:58:27ID:???our
0387nobodyさん
2007/07/05(木) 14:06:19ID:???0388nobodyさん
2007/07/05(木) 14:08:13ID:???0389nobodyさん
2007/07/05(木) 14:10:35ID:???>前半同じ名前で後半の数字が違うだけ、って変数名が多いんで
俺も変数名で悩んで、そういう名前をつけてしまうことがたまにあるけど、それはやめたほうがいい。
自分の頭の中でも整理がつかなくなってしまうから。
俺は実は、use strict;してないんだけど、変数名を整理して、局在化して書くことだけ気をつけていれば、
仕様書を書かなければ整理がつかないような大きなスクリプトを書くのならともかく、そんなに問題はないと思うけどね。
0390378
2007/07/05(木) 14:43:43ID:???と釣られてみる
0391nobodyさん
2007/07/05(木) 17:42:15ID:/MBCt40Zuse Benchmark;
sub test{ 色々 }
timethis(1,&test);
というplファイルをwinのcmdから実行させると、ちゃんとtest内に掛かれてる処理はされてるようなのですが、
timethis 1: 0 wallclock 〜
なんてことになってしまいます。timetheseでやるとちゃんと秒数が出てくるのに。thisだと出ない。
countを10回にしても実際には一杯時間掛かってるのに1分くらい待って出てくる表示は
timethis 10: 0 wallclock 〜
使い方間違ってますか?お助けくださいませ。
0392nobodyさん
2007/07/05(木) 22:09:43ID:???サブルーチンのリファレンスか
evalして実行できる文字列だけだにょ
0393391
2007/07/05(木) 22:56:26ID:/MBCt40Zopen FH,"bench.txt";
my @line = <FH>;
close FH;
sub test1{
my %get;
while (@line){
$csv->parse($_);my @fields = $csv->fields();
for (my$i=0 ; $i<=1 ; $i++){
$get{$fields[0]}->[$i] = $fields[$i];
}
}
}
sub test2{
my %get0;
my %get1;
while (@line){
$csv->parse($_);my @fields = $csv->fields();
$get0{$_} = $fields[1];
$get1{$_} = $fields[2];
}
}
timethese(100,{ PatternFast => 'test1', PatternSlow => 'test2',});
おかしいんです。今度はこれまでも0.00秒になってしまう。
どこをどう直せばいいのですか?
0394nobodyさん
2007/07/05(木) 23:33:45ID:???0.00秒になるのは分からんけど
無限ループだにょ
0395391
2007/07/06(金) 10:06:20ID:oyGEvxOpforeachと間違えました。すいません。危うく死亡するところでした。
benchの中で大助かりです。
ところで無限ループが始まった時って賢い対処法はありますか?
いつもはwindowsの終了をやってますが、タスクマネージャあけてアプリケーションの終了させればいいだけなのですか?
とりあえず問題は解決しました。benhの花井で卯s。
なんか数がすくないよってことだったらしいです。50000000とかにしたらようやく比較できました。
0396nobodyさん
2007/07/06(金) 18:49:11ID:???if($name eq ""){&er_("名前が未記入");}
if($name eq " "){&er_("名前が未記入");}
if($name eq " "){&er_("名前が未記入!");}
・
・
if($name eq "連続する半角全角スペースいっぱい"){&er_("名前が未記入!");}
とやっていくとキリがないです。
そこでパターンマッチ演算子というのを使ってみたのですが↓のであってますでしょうか?
if($name=~ /^ /){&er_("名前が未記入");}#半角スペースが先頭の時
if($name=~ /^ /){&er_("名前が未記入");}#全角スペースが先頭の時
とりあえず判定できてるっぽいですが
もっとスマートな方法があれば教えてください。
0397nobodyさん
2007/07/06(金) 19:01:01ID:???正規表現ド素人なんであんまり自信ない。
0398nobodyさん
2007/07/06(金) 19:03:58ID:???フォームに入力される文字がどういう文字なのか(2バイト文字とかを含むのか)とか、
スクリプト中での文字コードの扱いにもよると思うけど、古典的には以下の内容がかなり役立つかと。
http://www.din.or.jp/~ohzaki/perl.htm#JP_RmSpace
# 半角スペース
$space = '\x20';
# 全角スペース
$Zspace = '(?:\xA1\xA1)'; # EUC-JP
$Zspace_sjis = '(?:\x81\x40)'; # SJIS
0401nobodyさん
2007/07/06(金) 21:30:46ID:???&hoge($bar);
&hoge($bar{'id'});
&hoge($bar[0]);
sub hoge {
return $_[0];
}
真ん中の例のように、ハッシュを入れると値が帰ってきません。このような場合に、値を返すようにするには、どう記述するのが
一般的なのでしょうか?(試していませんが、一番下の配列の1要素を入れてもダメかもしれない?)
0402nobodyさん
2007/07/06(金) 21:36:05ID:???0403nobodyさん
2007/07/06(金) 21:46:38ID:???&hoge('hoge','hoge');
みたいに呼び出したときに、@_をshiftして呼び出すのはわかるのですが、同じ$_[0]で何故、$barの値は渡るのに、
$bar{'id'}の値は渡らないのでしょうか、という疑問です。
0404401=403
2007/07/06(金) 22:04:57ID:???問題は解決しましたが、>>401は依然疑問かも。恐らく
&hoge($bar{'id'});
でも
&hoge($bar[0]);
でも$_[0]に値は入ると思う(思いたい)という、もやもやは残りましたがw
0405nobodyさん
2007/07/06(金) 22:20:23ID:???> いつもはwindowsの終了をやってますが、タスクマネージャあけてアプリケーションの終了させればいいだけなのですか?
そんな面倒なことやってるんですか?
パソコンのコンセントを抜くだけですよ!
0406nobodyさん
2007/07/06(金) 22:36:49ID:???0407nobodyさん
2007/07/07(土) 00:38:24ID:???入力フォームを再度表示して、エラーのある箇所に赤文字でエラーメッセージを出力する。
この板的にはそういうスクリプト書くことが多いと思いますが、そういう場合に便利なモジュールなどはあるのでしょうか?
0410nobodyさん
2007/07/07(土) 09:38:06ID:???hiraZ2H(STRING)
hiraZ2H(SCALAR REF)
というのが出てきたんですけど使い方がわからないです
0411nobodyさん
2007/07/07(土) 10:04:34ID:???0412nobodyさん
2007/07/07(土) 10:33:19ID:???&jcode'z2h_sjis(\$foo);
で全角の$fooを半角にできました
でもひらがなをカタカナにしないと使えないです
0413nobodyさん
2007/07/07(土) 10:53:15ID:???print qq{$bar \n $bar{id} \n $bar[0]};
sakini kore yatte atai ga tyanto haitteruka checksitemite gomen ime okasiikara konnna kannji dakedo
0414nobodyさん
2007/07/08(日) 08:31:07ID:???print hira2kata_sjis("あめんぼ赤いなあいうえお");
exit;
BEGIN {
require 'jcode.pl';
my $from_code = 'sjis';
my $kata = 'ァ-ン';
my $hira = 'ぁ-ん';
jcode::convert(\$hira, 'euc', $from_code);
jcode::convert(\$kata, 'euc', $from_code);
sub hira2kata_sjis
{
my $str = shift;
jcode::convert(\$str, 'euc', $from_code);
jcode::tr(\$str, $hira, $kata);
jcode::z2h_euc(\$str);
jcode::convert(\$str, $from_code, 'euc');
return $str;
}
}
0415nobodyさん
2007/07/08(日) 11:06:02ID:???shift_jisで書かれたperlスクリプトをeucに変えてるのだけど、
文字コードをeucに変更して保存とjcode.plでshift_jisにしてる部分をeucに変更で
とりあえずは表面的には問題なさそうに見えるのだけど、ちょっと不安。
で、ここから質問なんだけど、他にやっておいた方がいい事とか注意する点とかってあるかな。
0416nobodyさん
2007/07/08(日) 11:22:52ID:???化石のようなライブラリを使わない
0417nobodyさん
2007/07/08(日) 11:31:27ID:???ぶっちゃけ、どんなスクリプトなのか、どういう人のアクセスを想定しているのか、
ぐらいの情報すら書かずに、ちょこちょこ後出しの駄レスが続くことに嫌気がさしてきた。
不特定多数の携帯からのアクセスがあるならUTF-8はまだダメだろうな。
まぁ、4、5年以上前の携帯だとそもそもEUCもダメなのあるけど。
0418nobodyさん
2007/07/08(日) 12:17:04ID:???utf8で書いてshiftjisで吐けばいいじゃん
0419nobodyさん
2007/07/08(日) 20:22:14ID:???utf-8はファイルサイズが増えるから・・・って思い込んでたけど思ったより増えないんだね。
これならそっちでも問題ないな。
どんなスクリプトとかアクセス方法によってそんなに変わるもの?
基本抑えておけば色々な場合に対応できると思ってたんだけど、
やっぱノウハウに違いが出てくるのかな。
ちなみにちょっとした掲示板系スクリプトとゲーム系スクリプト混ぜた感じの自作だったり。
アクセス数少ないし多分携帯も問題ない筈。
0421nobodyさん
2007/07/09(月) 06:10:18ID:???jcode.pl+EUCで書いてますがw
perlがいいのは、web上に情報が多いことで、さらに、ある程度化石級の書き方のほうが、
情報量が多くて便利なこともあるような。
0422nobodyさん
2007/07/09(月) 10:47:47ID:???古いライブラリだと新しい規格に対応してないなど不都合もある。
とりあえずjcode.pl+EUCでいいよ
0423nobodyさん
2007/07/12(木) 01:50:40ID:???2度目以降に動作しません。テスト用のpmファイルでは変数は一切使っておらず、
ただprint "test2"としているだけですが、最初の1回だけ出力されます。
main側もただtest1とだけ出力していますが、こちらは毎回出力します。
どのような原因が考えられましょうか。
0424nobodyさん
2007/07/12(木) 01:56:28ID:???見つかりませんでした…
どうかよろしくお願いしますm(_ _)m
0425423
2007/07/12(木) 02:01:32ID:???よろしくお願いします。
#!/usr/bin/speedy -w
use strict;
use warnings;
print "Content-type: text/plain; charset=utf-8\n\ntest";
require './lib/test.pm';
# test.pm
package test; print 'test2'; 1;
0426423
2007/07/12(木) 02:04:16ID:???http://72.14.235.104/search?q=cache:7-pqqTdFRYgJ:www.kent-web.com/perl/chap6.html+perl+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4&hl=ja&ct=clnk&cd=1&gl=jp
0429423
2007/07/12(木) 03:13:50ID:???関数だとちゃんと出力されました。
グローバル変数の初期化から前述のコードに迷い込んだのですが、
要するに初期化もパッケージの直下にour $a = 0なんて書くのではなく、
INITとか初期化用関数とかを用意しないとならないのですね。
グローバルという言葉をよく理解できてないようです。勉強します。
ありがとうございました。
0430nobodyさん
2007/07/12(木) 15:38:50ID:???http://www.au.kddi.com/test.cgi?atai=apple
のように、受け取った値を利用したURLにアクセスさせたいのですが、
今はやり方が分からずアンカータグを返して1クッション置いているのですが、ダイレクトで表示させるにはどのようにすれば良いのでしょうか?
よろしくお願いします。
0431nobodyさん
2007/07/12(木) 16:13:05ID:???それでダメならLocationなりで飛ばせばいいじゃない
0432nobodyさん
2007/07/12(木) 18:46:36ID:???文字コードをEUC-JPに変換して半角文字を全角文字に変換する場合、
&jcode::convert(\$value,"euc","","z");
これと
&jcode::convert(\$value,'euc');
&jcode::h2z_euc(\$value);
これは、
同じなんですか?
後者のはよく見かけるんですが、
前者のはあまり見かけないような印象があるんですが
何か理由があるのでしょうか?
0433432
2007/07/12(木) 18:51:01ID:qGszHv4Y質問なのにsageてしまったのでage直します。
■ このスレッドは過去ログ倉庫に格納されています