自作CGIを評価するスレ (672レス)
上下前次1-新
545(1): 04/10/09 05:06 ID:??? AAS
>>540
%hush(多分hash?)の宣言の位置。
GCのコストを考慮した場合に、変数の再利用をするはあるけど...、
ループないで初期化してないとフィールドの数が少ない時に困るよ。
split/::/の代わりに正規表現を使ってデータを切り出すと、
データのチェックとsplitを同時にできて便利。
chompはデータ格納前に済ませておいた方が良いんじゃないかな。chomp(@tmp)
もしくは、大抵はファイルから読み込むだろうからその時に。
546(2): 540 04/10/09 05:35 ID:??? AAS
>>544
どうもありがとう。foreachは普通に使えるんだろうけど、
大抵forで済ませてしまうのです。言い方悪かったです、スイマセン。
>>545
ありがとうございます。
>ループないで初期化してないとフィールドの数が少ない時に困るよ。
というのは、forのループ内で undef(%hush); (ほんとはhashでしたw)
でいいですか?
あと、フィールドの数が少ない時というのはどういうことでしょうか?
>split/::/の代わりに正規表現を使ってデータを切り出すと
省7
547: 541 04/10/09 11:14 ID:??? AAS
言いたかったのはforeach (@ref)にしろよってことね
別にfor (@ref)でもいいかもしれんが
あと>>543読んだか? myは複数宣言するときは()いる
>>546
>ループ内で初期化
for(hoge){
my %hash;
statement;
}
こういう事だと思う
548(1): 540 04/10/09 12:28 ID:??? AAS
my () つけなくてもエラー出てないです。 という事は
省略も可って事ではないでしょうか?
549: 04/10/09 14:26 ID:??? AAS
>>548
エラーにならないのは strict 'vars' 宣言が無いからだ。
my $foo, $bar, $baz; という文自体は文法的には間違いじゃないが、
my は , より優先順位が高いので、my($foo), $bar, $baz; と書くのと
等価になる。
#--- test.p ---
my $foo, $bar, $baz;
print defined $main::{$_} ? "'$_' is global.\n" : "'$_' is rexical.\n"
for qw(foo bar baz);
__END__
省9
550(1): 04/10/09 17:41 ID:??? AAS
>>546
> あと、フィールドの数が少ない時というのはどういうことでしょうか?
これは、今回のケースでは問題なかったです。
でも、変数を再利用する時は気を付けないと、前の値が残っていたり、
意図しない場所の値を書き換えてしまったりするので注意。
例えば、pushの所を \%hash とりファレンスを使うように変更した場合。
my (@ref, %hash);
foreach (@_) {
# @refの中の前の値を上書きすることになる
# {%hash}とした場合は、@refにはいってる値はコピーなので影響ない
省16
551(1): 04/10/09 18:04 ID:??? AAS
ここってものすごいでかいスクリプトでも細かい所まで見てくれるの?
552: 04/10/09 18:09 ID:??? AAS
>>550 何かおかしな日本語だった。訂正
s/他の方に/他の方からも/
あと、正規表現を使った方法を書き忘れてたのでついでに、、
例えば time が整数の場合の例
if (/^(.+)::(\d+)::(.+)$/) {
@hash{qw/title time contents/} = ($1, $2, $3)
}
553(1): 04/10/09 19:39 ID:??? AAS
>>551
読むに耐えうる書き方&内容ならな。
KENTレベルなら却下
554: 04/10/09 22:16 ID:??? AAS
>>553
オブジェクト指向とか頑張ってやってみたけど中途半端になったようなのでも大丈夫ですか?
555: 04/10/09 22:37 ID:??? AAS
何書いたって叩かれるんだから、結城出していいと思う
556: 540 04/10/09 23:53 ID:??? AAS
ほんとにこんなに色々な方が、教えてくださるとは思ってませんでした。
どうもありがとうございます。
特にエレガントな方法を教えてくださった542氏
ハイレベルな(少なくとも今の私には)指摘をしてくれた
545=550=552氏には感謝します。
その他あのようなケチなコードに意見を下さった方々ありがとう。
またお世話になるかもしれません。m(_ _)m
557(1): 04/10/10 20:44 ID:??? AAS
> my は複数でも()いりませんよ。バージョンによるだろうけど
> 最後に、今更foreach使ってる人いるんですか?w
こんなこと言うやつはもう来なくていい
558(1): 540 04/10/11 01:40 ID:21NinhME(1) AAS
ごめんね
559: 04/10/11 09:04 ID:??? AAS
>>558
とっとと消えろ
560: 04/10/18 16:42 ID:??? AAS
>>557
同意。
561(1): かぼ 04/10/22 19:30 ID:EM8OHCfb(1) AAS
評価お願いします。
外部リンク[cgi]:members14.tsukaeru.net
562: 04/10/22 20:13 ID:??? AAS
>>561
コード晒せって馬鹿
563(4): 05/01/23 00:46 ID:vqv+/2ig(1) AAS
誘導されてきました。
評価というか不具合の問題です
初めてperl書いてみました。
簡易的な計算のプログラムを作ってみたんですがうまく動作しません。
ちょっと見て頂き、不具合等御指摘下さい
特定の計算式で、入力(1項目だけセレクトボックスにより選択)した数値を計算するものです。
ソース
外部リンク[jsp]:tool-ya.ddo.jp
URL
外部リンク[html]:sr-cafe.chu.jp
564: 05/01/23 03:00 ID:3FhDUp9J(1) AAS
>>563
ソースはマンドクサイのでちゃんと読んでないけど、
文字コードと改行コードの問題の様な希ガス。
上下前次1-新書関写板覧索設栞歴
あと 108 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.010s