[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/22 04:06 / Filesize : 243 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

gotoを恐れず使う兵共がfinallyや多重breakを語るスレ



1 名前:デフォルトの名無しさん [2005/08/11(木) 11:18:15 ]
前スレ pc8.2ch.net/test/read.cgi/tech/1021364372/

24 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:21:32 ]
実は私、男なの。ゲイなのよ。

25 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:22:24 ]
ポーーーーーーーーーーーーゥゥゥゥゥゥッッッ!!!
どーも〜〜〜、ゲイでぇ〜〜〜〜〜す〜〜〜〜

26 名前:デフォルトの名無しさん mailto:sage [2005/08/11(木) 23:30:58 ]
gotoを恐れず使う兵共はゲイだと

27 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 00:20:34 ]
ニューハーフなら受け止める

28 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 11:54:43 ]
スレが危険な方向に……

29 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 12:30:22 ]
これでまたさらにム板住民→キモイという方程式が確固たるものに…
>>22は氏んでくれ

30 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 23:30:11 ]
次スレ立ってたのか。

>10
然り。

31 名前:デフォルトの名無しさん [2005/08/17(水) 01:41:13 ]
age

32 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 11:41:55 ]
>>3
組み込みの場合のマジレス。

while(1) ;



33 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 00:02:44 ]
Cとかでtry-catchサポートするようになったら
やっぱfinally無しではキツい気がする。

finallyの中身は後片付けでしかないんで
デストラクタに書けばいいだろと言う主張は
なんか面倒くさい気もするけど納得できた。

C++とは無関係にCにも例外処理とfinallyが欲しい。

34 名前:デフォルトの名無しさん [2005/08/18(木) 00:18:21 ]
>>33
try-catchに関しては、普通にC++コンパイラ使えば良いじゃん。


35 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 01:17:31 ]
try-catch
使ったらそれはもうC++だよw

36 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 03:16:49 ]
つ Objective-C (Cocoa)

37 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 09:11:42 ]
>>33
>C++とは無関係にCにも例外処理とfinallyが欲しい。

あるんだけど。

これまた、C++と無関係なCの例外処理だから、catchに困るんだけどね。

38 名前:デフォルトの名無しさん [2005/08/20(土) 12:32:28 ]
              :ill||||||||||l:
             :i|||||||||||||||
           /''';:|||||||||||||||||l:、
          /:i  :||||||貞|||||||i `'! gotoやめれ〜・・  ・
          / :|  :||||||||||||||||||l ノ!
          | ヽ |||||||||||||||||||| :|
          ! !;ヽ:||||||||||||||||||||!; |
      .__|  |/|||||||||||||||||||||; |____
       |  _|  .|/||||||||||||||||||||; |_____  .|
      | |:='ヾ‐イ:||:|l|l|l|l|l|l|ll|||||' |::::::::::::| |
      | |:::::::: | |;:|||||:l|:l|l|l|:l|:||||| イ=::::::| |  ザー ……
      | |:::::::::/ };|||||||||l|:l|l|l|:l|:|||.ノ:=:::::| |
      | |:::=!川!;|||||!l|||l|:l|l||||ー'‐'.;:::::::::::| |
      | |:::::::::!l.|ノ      / ./:::::=:::::::| |
      | |::::::::::::|:::      ノ }::::::::=::::::| |
      |  ̄ ̄~|:::      川リ ̄ ̄ ̄ ̄ |
      | ̄l ̄ ̄|::::      | ~ ̄ ̄ ̄| ̄|
      |_|:.::.:.:.:|:::::      |:.:.:.:.:.::..:.:.:|_|
      .:.:.:.:.:.:.:.:.:|;;;::::      .|.:.:.:.:.:.:.:.:.:..:.:.:.:

39 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:52:56 ]
((((;゚д゚))))ヤメマス!

40 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 10:43:27 ]
現代のプログラミング言語で、Fortranのような言語で使用されていたGOTOを
必要としない言語は何でしょうか?


41 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 11:01:17 ]
>>40
「Fortranのような言語で使用されていたGOTO」というと、こんなのか?
ttp://xlsoft.com/jp/products/intel/cvf/docs/vf-html/az/az05_54.htm

42 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 11:13:07 ]
一般的なGOTOですね。
CやC++等ではGOTO使わないと思うのですが、GOTOを必要としない
ための構造というと、どういうものなのでしょうか?

もちろんFORやWHILEループ、SWITCH等はそれだとはおもうのですが。



43 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 14:27:40 ]
>GOTOを必要としないための構造というと、どういうものなのでしょうか?
つ[COME FROM文]

ttp://www.fortran.com/fortran/come_from.html

44 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 14:43:51 ]
>>42
ダイキストラたんに聞いてこい。

45 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 23:26:50 ]
>>40
つ[構造化定理]

46 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 13:51:36 ]
>>42
>CやC++等ではGOTO使わないと思うのですが
あなたがどう思うかに関わらず
goto を必要とする人々はいます。
つーか、そういう質問をするスレではありません。

47 名前:デフォルトの名無しさん mailto:sage [2005/08/25(木) 10:04:14 ]
>>42
継続(current-continuation)。
明示的に扱えるのはschemeくらいしか無いが。

48 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 12:40:41 ]
スレタイの無理やり加減が結構好きなんだが
さりとてこれといった話題があるでもない。

49 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 18:03:34 ]
現実問題goto使った汚いコードよりgoto使わない汚いコードのほうが100倍多い件

50 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 18:07:55 ]
よくわかんない。
統計とってよ。

51 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:06:54 ]
取ったら取ったでサンプルが偏ってるとか言われそうだな

52 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:19:17 ]
ちゃんと、そう言われないと思うようなデータを取ってこいよ。



53 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:21:13 ]
「汚い」の定義もしないで何を話しているのか・・・

54 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:22:21 ]
お前ら良くこんな底の方にあるスレに気がついたな

55 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:23:37 ]
>>53
定義はいらん。主観だからだ。
ヒューマンインターフェースチックな評価手法が妥当だと思われる。

56 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:25:07 ]
汚ないコードとgotoを使う・使わないが直交しているし、
gotoを使わないコードはgotoを使うコードの100倍どころか
1000倍以上存在しているだろうから、
goto使った汚いコードよりgoto使わない汚いコードのほうがはるかに多いだろう。


57 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:27:22 ]
goto使いたがる人間はコーディングに対して意識の高い人間だからコードはきれい。
ただgotoを排除したがる人間は噂レベルの情報を鵜呑みにする思考停止したコーディングレベルの低い人間だからコードが汚い。

58 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 09:58:24 ]
すでにgotoの存在自体を知らないプログラマが大多数を占めている罠


59 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 10:24:45 ]
よくわかんない。
統計とってよ。

60 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 13:55:43 ]
統計統計と連呼しないで下さい。話を止める効果しかありませんよ。
ご自身の主張をなされば良いでしょう

61 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 16:35:13 ]
「早起きは三文の得」と言われても、統計を要求する人なんだよ、たぶん。

62 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 17:39:59 ]
その三文とは金額のことですか? それとも距離のことですか?
具体的にどんな得があるというのか説明してください。

とか?



63 名前:デフォルトの名無しさん [2006/01/05(木) 19:14:32 ]
>>58
それはないよ
ジャンプも知らない奴はデバッグできない

64 名前:デフォルトの名無しさん [2006/01/05(木) 19:19:09 ]
なぜアセンブリのgotoは許されるのかについて

65 名前:デフォルトの名無しさん [2006/01/05(木) 19:20:29 ]
っていうか、アセンブリでjmpなかったら何もできん・・・w

66 名前:デフォルトの名無しさん mailto:sage [2006/01/05(木) 19:21:45 ]
つかお前らassertスレが大分前に落ちましたよ

67 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 00:09:17 ]
gotoだろうが何だろうが頭ごなしに否定あるいは肯定をするのは自分でモノを考えていない証拠です!><
プログラミングってのがそんな定型的な作業ならわざわざ人間様がやる必要はないはずです!><

68 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 00:20:44 ]
>>67
自分で考えているかどうかっつーより、思考停止しているだけの話だろ。

69 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 00:05:45 ]
「自分で考えていない」と「思考停止している」はどう違うのか

70 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 22:31:06 ]
gotoは使ってより美しくなるのなら使え、そうでないなら使うな、ではないか?



71 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:10:04 ]
>>70
同意するけど。
「何が美しいか」は完全に個人的な感覚に属する問題だからw

72 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 02:45:41 ]
gotoにまつわる話だけで一冊の本になりそうなんだが
どこか出してくれないかな。買うぜ。



73 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 21:13:04 ]
>>71
goto排斥原理主義者にとっては「gotoが使われている」=「最悪に醜い」だからなぁw

74 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 14:23:47 ]
knuth先生のコードにもgotoが使われているものがあったぞ。
確かミニマックスαβ探索だったと思う。

knuth先生だって必要最低限のgoto使うことがあるのだから、原理主義はやめるべき。



75 名前:デフォルトの名無しさん [2006/05/03(水) 20:41:23 ]
goto 1

76 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 20:52:18 ]
>>74
ってか、knuth は goto 擁護論者の筆頭だろ。


77 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 21:42:42 ]
高徳納には先生ってつける奴多いけど何で?

78 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 17:16:51 ]
趣味だろ

79 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 22:28:29 ]
先生と 生徒

ハァハァ

80 名前:デフォルトの名無しさん mailto:sage [2006/05/04(木) 22:53:19 ]
ジジイは趣味じゃないからパス

81 名前:デフォルトの名無しさん [2006/08/08(火) 15:08:54 ]
 if (A) { procX; }
 else if (B) { procY; procX; }
という処理をしたいのですが、procX、procYともに関数にするほどではないけれども、
上の位置にベタで書くにはちょっと無駄なタイプをしている気がするような処理なのです。
そこで
 if (A) goto labelX;
 else if (B) goto labelY;
 else return;
 labelY: procY;
 labelX: procX;
という書き方をしました。procXとprocYの実装を一度しか書かないという縛りで
gotoを使わずに書く書き方があれば教えてくださいm(_ _)m


82 名前:81 mailto:sage [2006/08/08(火) 15:09:56 ]
書き込んで気が付きましたがスレ違いっぽいですね。
すみません。



83 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 15:14:08 ]
if(B) procY;
else if(!A) return;
procX;

普通にこれではマズいのか?

84 名前:81 mailto:sage [2006/08/08(火) 15:57:02 ]
>>83
ぉぅっ。エレガントです…。思いつきませんでした。

実際のコードはAで判定できる箇所が多くかつ判定自体も速いので、
できればAの判定を先に持ってきたいのですが…。
先に書くべきでしたね。

85 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 16:58:17 ]
if(!A) {
 if(B) procY;
 else return;
}
procX;

これで>>81と等価かな。

86 名前:81 mailto:sage [2006/08/08(火) 18:22:30 ]
>>85
できるもんなんですねぇ…。
勉強になりました。ありがとうございました。


87 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 20:00:42 ]
そういう思考ができない人はあまりプログラマに向いて無い希ガス

88 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 20:15:33 ]
>>81
俺ならこうやってネストしちゃうな。
(例として、条件がCまで、処理がprocZまでの三段階に増えたとする)

if(!A) {
 if(!B) {
  if(!C) return;
  procZ;
 }
 procY;
}
procX;

89 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 21:43:38 ]
誰もお前には聞いてないんだよカス

90 名前:デフォルトの名無しさん [2006/08/08(火) 22:43:54 ]
GOTO使う事によってコードが短くなる件

91 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 22:54:29 ]
まあ、goto使うことで
コードが短くも速くもならないなら
使うなとは言えるなw

92 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 23:20:51 ]
    if (flag)
        goto N0021;
    return;

N0021:
    〜

こういうコードならつい最近見た。Fortran から C に単純変換したものらしい。
こういうのがいたるところに orz



93 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 23:37:24 ]
>>92
実行形式から逆コンパイルした結果も
それと同様に goto だらけになったりするんだろうなぁ。

94 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 19:48:06 ]
>>89
では今度からきちんと指名 (無料) するように。

95 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 08:55:10 ]
コンパイル済みの汗ソース見ればくだらない議論と気付くはずw

96 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 20:08:23 ]
ちうか、わざわざ高級言語つって読み書きしやすい制御構文を用意しているのに、
それを破壊するような使い方をするなっていうのがgotoは悪派の主張なわけで、
機械語に落ちれば全部jmpだろってのはあんまり関係ないよな。

まあ、機械語レベルのjmp命令がif等の制御構文と同等のレベルで
読み書きできるような人間にゃgotoだろうがforだろうが関係ないのかもしれんが、
そうじゃない人もいるんでそういう人も思いやってくれよということで。

97 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 07:51:36 ]
1.gotoはどんな事があっても絶対使うな!
2.gotoはなるべく使わない方がいい

初心者に教えるなら1の方が正しいと思う。

98 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 08:24:30 ]
ちなみに俺自身がどの程度使っているか調べてみたら、
92年ごろこんな事やってた。

// ポートからマウス移動量を取得
outp(0x7fdd,0x80);goto L1;
L1: x1 =inp(0x7fd9)&0xf;
outp(0x7fdd,0xa0);goto L2;
L2: x1+=(inp(0x7fd9)&0xf)<<4;
outp(0x7fdd,0xc0);goto L3;
L3: y1 =inp(0x7fd9)&0xf;
outp(0x7fdd,0xe0);goto L4;
L4: y1+=(inp(0x7fd9)&0xf)<<4;
outp(0x7fdd,0);goto L5;
L5: wark =inp(0x7fd9);

pc98のコードだが、今となってはよく分からん。
見ての通り組み込みに近い処理なので、こういうウェイトが
必要な場合もあったんだろうな、たぶん。


99 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:48:42 ]
ジャンプ系の命令を挟んで数clockをwaitするってこと…なのか?
要するにnop代わりにgotoを使ったと…結構アレげだな

100 名前:98 mailto:sage [2006/09/28(木) 20:20:07 ]
>ジャンプ系の命令を挟んで数clockをwaitするってこと…なのか?

たぶん、そういう事をやりたかったのだと思う。
gotoはCで書けるけど、nopはasmブロックで書かなくてはならないので
gotoを選択したんじゃないかねー。「念のため」的なコードは書かない
主義なので、このgotoが無ければ動かない機種があったのだとは思う。
14〜15年前の若かりし日のコードなんで詳しい事は思い出せないなw

101 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 23:28:51 ]
>>100
約15年前のキミに言っておきたい。
そのコードにはコメントを入れておけとw

102 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 23:29:29 ]
おっと、もちろん、goto使用理由に関するコメントな。



103 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 00:27:57 ]
最近のコンパイラだと、最適化で消される悪寒・・・

104 名前:98 mailto:sage [2006/09/29(金) 00:49:32 ]
>そのコードにはコメントを入れておけとw
まったくもってそうかも知れない。。。

ちなみに別な所はこんな感じ

// マウス割り込みを許可する
void pascal MOUSE::_enable()
{
asm pushf
disable();
setvect(MOUSE_VECT,MOUSE::main); // ベクタの更新
outp(0x7fdf,0x93); // マウスモードセット
int a = inp(0x0a) & 0xdf; // 8259A(スレーブ)読みだし
outp(0x0a,a); // マウス割り込み許可(8259A)
goto w1;
w1: outp(0x7fdf,0x08); // マウス割り込み許可(8255A)
goto w2;
w2: asm popf
}

これだけマメにコメント入れているのに問題のgotoだけ何のコメントも
入ってないのは一体。。。。orz



105 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 06:52:14 ]
自信の有無か、切羽詰ってたのか、或いは煮詰まっていたのか。

106 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 23:52:01 ]
>>104
マジックナンバー(0x7fdfとか)に対するコメントはgoodだが、
「ベクタの更新」はコメント要らない気がする。
ていうか、だからgotoにコメント入れろとw

107 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 02:16:48 ]
goto を入れるまでも無いくらい、自然で当然な行為だったんでわ。

108 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 02:17:28 ]
goto を、じゃなくてコメントを、だった。
酔ってるんで許してくれ。

109 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 02:21:43 ]
nopするだけのasmブロックをマクロで定義した方が良かったと思われる。

110 名前:デフォルトの名無しさん [2006/12/01(金) 12:12:09 ]
gotoを恐れなく使うのなら、finallyやbreakなんてヌルい物じゃなく、
gotoより強力な継続をバリバリに活用する方法を語るべきだろ。

111 名前:デフォルトの名無しさん [2006/12/01(金) 12:34:53 ]
ま、要するに使う側にとっては多少CPU時間が変わろうが仕様通り動けば良いわけだから
個人で開発するぶんには、完全に好みと言うか主観なわけで。


112 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 10:41:09 ]
それは議論の対象外だろ



113 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 22:52:44 ]
個人的に、breakとか使わなくてもifとgotoで事足りるんだが。

114 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 15:34:12 ]
そりゃ、そうだろ…

115 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 15:46:17 ]
プリフェッチの関係でnopではなくjmp shortを使わないとウエイトにならないとかでしょ?
当時のPC98ではそれが普通だったっつーか俺が覚えてるくらいだから広まってはいたんじゃないか

116 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 13:40:26 ]
これまで何度も言われてきたことだけど
「個人で開発するぶんには・・・」とか「***で事足りるから***は不要」とか
無意味だとは思わんかね?

117 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 14:15:25 ]
andとnotとorとgotoで事足りるから制御構造は不要

118 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 00:36:01 ]
nand さえあれば、andもnotもorも不要なんじゃなかったっけ?

119 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 15:51:00 ]
最終的にはチューリングマシン云々とかマシン語云々に行き着くんだろうな

120 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 00:38:20 ]
>>119
フルアセンブラで組むのはさすがにバカ→C言語を使う俺、最高→いやいやC++使いの俺、最高→(以下略

121 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 01:11:44 ]
プログラマを顎で使うクライアントの俺、最高

122 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 06:34:33 ]
作業に見合うだけのお金を払ってくれるならな。



123 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 20:09:15 ]
>>81と似たケースなんだけど
if(A){
 if(B){
  procX;
 } else {
  procY;
 }
} else {
 procY;
}

ってなってたら判断回数を増やさずにprocYを
一箇所だけにしたい場合、

if(A){
 if(B){
  procX;
 } else {
  goto _Y;
 }
} else {
_Y:
 procY;
}

って書く以外にある?


124 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 20:28:59 ]
if (A && B){
  procX;
} else {
  procY;
}
じゃいけないの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef