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


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

D言語 Part15



1 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:16:30 ]
プログラミング言語 D (D Programming Language) について語るスレッドです。
過去スレは >>2

■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)

■コンパイラ
ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ)

■参考URL
ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
ttp://dsource.org/ (dsource)
ttp://www.sun-inet.or.jp/~yaneurao/dlang/
ttp://wisdom.sakura.ne.jp/programming/d/

741 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:08:56 ]
>>739
それもきっと>>722ってことなんだろうなぁ。

もう>>722の金言は「D言語の哲学」として>>1に張っとくといいんじゃね?

742 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:42:07 ]
そんあこといわれたら全部>>722って言われちゃいます><

743 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:11:54 ]
size_t l;
stream.read(l);
array.length = l;
これ地味に面倒じゃねwwww
array.length = stream.read!(size_t);
とかで簡単にかけたら便利そうだなあああああああ

744 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 15:40:26 ]
動的配列なのにわざわざ先にサイズ指定しなくてもと思うけど・・・。

745 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:40:24 ]
動的配列だから先にサイズを読み込むんじゃ…?

746 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 16:59:45 ]
別に配列関係ないだろ。

747 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:08:31 ]
ラムダ式まだー

748 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:09:28 ]
>>743
をるたんにその便利さを説けば入れてくれるんじゃね?

749 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:24:18 ]
>>743 自分で関数書いたらよくね?



750 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:29:47 ]
配列以外にも拡張メソッド構文が採用されれば、できるな。

751 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 17:32:25 ]
ブライト艦長としては、既にDの開発に使える人生のリソースを100%使っていて、
どこをイジるかってのは完全にリソースの振り分け、優先順位の問題なのだろうし、
もうしばらくは優先順位の極めて高いwktkなアイディアが常に溢れた状態だろうから、
よっぽどの相対的価値をアピールしない限り、振り向いてはくれないだろうね。

752 名前:デフォルトの名無しさん [2007/11/08(木) 21:31:57 ]
>>738
コンパイルが通るだけで動作確認ができてないですけど、
もしどこかに簡単にアップできる先があればアップしますよ。

>>740
おー、ご自分でポートされたんですね。
ちゃんと動いてるっぽくていいなー。

[わなD]を見ると、私のほうでちゃんとでてないのは、
-gオプションで再コンパイルしたphobos使ってないからかも。

ちなみにうちは、WindowsXP / dmd2.0007 / phobos / dsss で稼動させてます。



753 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:54:20 ]
2.0007

ご、ごめん

754 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 22:57:23 ]
ちなみに同じ問題で悩んだけど 1.x 系だと phobos コンパイル通らなかった・・・!
phobos のコンパイル通すのですら、をるたんにとって優先順位低そうでイヤン

755 名前:デフォルトの名無しさん mailto:age [2007/11/09(金) 00:14:05 ]
D言語製のブラウザとかないわけ

756 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:15:40 ]
ないわけ

>>753
気持ちわかるw

757 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 03:30:53 ]
D言語製のブラウザとか必要もないよな・・・

758 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 03:44:52 ]
参考になるサンプルはある程度必要だろ

759 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 06:32:26 ]
アプリのサンプルというよりゲームとかなら作られてるみたいだな。



760 名前:デフォルトの名無しさん [2007/11/09(金) 07:26:59 ]
C/C++の遺産の再利用がまだしづらいのかな?

761 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 07:43:00 ]
サンプルを作ってもちょっと経ったらコンパイルできなくなりそうな言語

762 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 09:33:56 ]
そして、いつぞやの納品したやつ脂肪。。。w

763 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:19:13 ]
CTFEや文字列mixinに対応したIDEまだ?

764 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:13:59 ]
>>763
>>461

765 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 22:23:07 ]
CTFEって何ぞ?

766 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 22:27:22 ]
www.kmonos.net/alang/d/glossary.html#ctfe

767 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 22:31:11 ]
どんも。mixinならまだしも CTFE に対応はかなり厳しくない?

768 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:21:44 ]
もうコンパイラがIDEになっちまえばいいのではないだろうか。

769 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:00:31 ]
tango の tango.text.String と 
tango.text.Text が機能的に一緒に見えるんだが、何なんだ、これ?


ttp://www.dsource.org/projects/tango/docs/current/tango.text.String.html
ttp://www.dsource.org/projects/tango/docs/current/tango.text.Text.html

名前変わったけどそのまんま残してあるとかそんなの?



770 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:03:54 ]
String は非推奨になってるよ。
何でStringからTextにしたんだろ…
StringはStringで別のものを提供するつもりなんだろうか…
あとText.toUtf8()がおかしい。バグっぽい。Object.toUtf8()の「オーバーロード」関数になっちゃってるみたい…

771 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 06:25:53 ]
そういや配列のプロパティ形式って配列でしかダメな理由あるのかな?

772 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 08:49:49 ]
配列にはメンバがないからルックアップが簡単になるためじゃなかろうか。

たしか、カンファレンスのスライドだったかで、配列以外にも拡張するようなことが書いてあったと思う。

773 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 09:04:59 ]
そのうちメソッドが
void func(Class c) {
}
auto c = new Class;
c.func();
なんてことになるのかな

774 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 09:43:15 ]
さすがにそれはどうかと思う

775 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 09:53:36 ]
>>772
s3.amazonaws.com/dconf2007/WalterAndrei.pdf
9ページだな

まさに>>773のことが書いてある。

776 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:39:56 ]
>>773ので書いたらクラスに後からメソッドを追加出来るな

777 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:42:11 ]
それじゃクラスいらないね
全部構造体でいいじゃん

778 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:44:04 ]
拡張メソッドはprivateメンバに触れないからカプセル化ができないじゃん

779 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:48:25 ]
>>770
非推奨になってたのか。サンクス。
機能的にテキストエディタを意識しているように見えるから Text に名前変えたんかな。



780 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:25:42 ]
お、Dにも来るのかそれ。

……関数・メソッド・プロパティじゃそれぞれ相応しい名前が違ってくるから、
あんまり安直にごっちゃに出来て欲しくはないなぁ、というのは神経質というか今更かしらん。

781 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 12:20:32 ]
自分としてはモジュールのstatic import や別名つけてる時も大丈夫なようにして欲しいな。

import Conv = std.conv;
"12345".Conv.to!(int);

とか。使ってる関数がどのモジュールに属するのか簡単に分からないのは嫌いだし
呼び出してるのがメソッドなのか関数なのか区別つかないのは精神衛生上よろしくない。

782 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 12:27:45 ]
それはまた気持ちが悪いな…

783 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:13:39 ]
うへぇ、きめぇwwwwが褒め言葉のD言語ですが

>>781
自分的にもそれはほしいけど、なんかわかりにくくなるね…
…ここでスコープ解決演算子::の登場。

import Conv = std.conv;
"12345".Conv::to!(int);

とか。何でも.でアクセスするのはC++使ってた身としてはコード的に見にくくなる気がしている。

784 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:19:09 ]
"12345".Conv  ::  to!(int);
          ↑ここで意味の切れ目がある感じがして好きじゃないなあ

"12345".(Conv.to!(int)); とか。

785 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:22:09 ]
"12345".[Conv.to!(int)];

角括弧のほうが見やすそう。

786 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 13:40:50 ]
"12345".to!(int)で良いよ。無駄な冗長性はいらん。
安全に書きたいときは普通の形式で書けば良いんだし。

787 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 15:14:34 ]
某スクリプト言語風にすると
"12345".to#Conv!(int)
または
"12345".to!(int)#Conv
こんな感じかな

788 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 16:55:10 ]
Poseidonで
ERROR >>> Wrong DMD Path!!
とか出てコンパイルできないんだがどうすればいいんだ?
DMDのパスを指定してるのにできない

789 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:00:58 ]
>>786
無駄じゃないよ。
さっきも言ったように関数なのかメソッドなのか、関数ならどのモジュールの関数なのか
ぱっと見て分かるのは非常に保守しやすい。
自分の作ったものを自分で見る分には効果は薄いかもしれんが他人のソースコードを
見る時は非常に助かる。

Hoge hoge = new Hoge;
hoge.foo();

という記述があって、fooで何してるか見たい時に Hoge の定義見て、「あれ foo が無い」
となり、次は関数探すのにインポートしているモジュール見てそこから探し出すか、grep
かけた結果から探す羽目になる。

hoge.Bar.foo();

って記述してありゃ、Bar モジュールの foo()関数を読んでいるってのがすぐ分かる。



790 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:04:56 ]
>>788
dmd の1個上のフォルダ指すんじゃなかったっけ。
c:\dmd なら c:\ を指定する。

791 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:06:54 ]
>>789
ヒント: class Hoge{class Bar{void foo(){}}}

792 名前:791 mailto:sage [2007/11/10(土) 17:07:34 ]
ミスった。class Hoge{static class Bar{static void foo(){}}}ね。

793 名前:789 mailto:sage [2007/11/10(土) 17:10:30 ]
>>791-792
Bar モジュールインポートしてなければすぐ分かる話だよね。

794 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:13:55 ]
>>790
bin の1個上のフォルダ指すんじゃなかったっけ。
c:\dmd\bin なら c:\dmd を指定する。

795 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:26:33 ]
>>790,794
ありがとう。おかげでIDE環境で初コンパイル出来たよ(つД`;)

796 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:27:13 ]
>>793
まぁ、基本的にはそうだけど。
でも根本を無くすにはdmdがcallgraphを生成できるようになるのが一番だと思う。

797 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:34:26 ]
伝説のIDEが登場すればチップヘルプで教えてくれるよ。

798 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 17:56:28 ]
>>796-797
そりゃ、理想なんだけどさ。そのときは無駄な冗長になっちゃうね。

799 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:09:46 ]
hoge.Bar.foo();
このBarの部分が省略可能だったらいいのではないかと。
明示したいときは明示すればいいし。



800 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 21:20:07 ]
Barがmoduleなのかaliasなのかclassなのかstructなのか関数なのかメソッドなのか
プロパティなのかメンバ変数なのかが区別つかなくなって読みにくいコードになりそうだな。
…っておもったけどいざとなったらtypeofとかis式とか__traitsとかpragma(msg, ...)とか
stringofとかですぐに見つけられそうだな。

801 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 05:52:35 ]
>799のhoge.bar.foo()形式は、演算子の結合順序的にありえないだろうな。
>783のhoge.bar::foo()形式だと、mylib.barとかいうモジュール名とか考えると破綻する気が。
ありえるとしたら>784とか>785あたりのhoge.(bar.foo)()系じゃね?

>799の任意省略方式だと、static importとかで完全修飾を強制することによる
bar.foo(hoge)って記法に対して存在意義がないから、>800の言うような
混乱要素を無用に増やすだけになると思う。
>786で言われてることかな。

802 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 09:13:28 ]
>>801
関数呼び出し式は今も

IdentifierList  '(' ParameterList ')'

IdentifierList:
  identifier
  IdentifierList  '.'  identifier

だから、結合順序的には問題ないよ。意味論のフェイズで正しく処理できるようにしてやるだけ。

803 名前:デフォルトの名無しさん [2007/11/11(日) 09:17:07 ]
memo

ttp://python.matrix.jp/apps/code_blocks.html


804 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 15:46:41 ]
>>802
いやいや、お前が間違ってるよ。よく考え身。

805 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:05:22 ]
>>804
間違ってるとかいうなら根拠しめそうぜ
モジュール名は識別子じゃないとか間抜けなこと言う?

806 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:12:14 ]
>>805
結合順を考えろ。間抜け。

807 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:14:03 ]
ああ、マヌケにはもっと説明を加えないと分からないか。

abc.efg.hij()

これを結合順に括弧でくくってみろ。
それが既存の文法と矛盾しないか考えろ。

808 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:31:40 ]
'.'って、いつから演算子になったんだろう

809 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:34:12 ]
最初から



810 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 16:42:14 ]
演算子の結合順は実装依存。
結合順に依存するコードは誤り。


811 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:05:44 ]
>>810
お前頭大丈夫か?
そんなわけないだろ。
仕様で結合順は決まってるよ。

812 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:12:04 ]
釣り師おおすぎ

813 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:38:22 ]
土日だからな
はぁ…月曜日が待ち遠しい…

814 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:41:22 ]
月曜はニートだらけ

815 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:41:24 ]
とりあえず、「演算子の優先順位」でググって最初に出たサイト。

ttp://c-production.com/special/04092101.html

これは、Cのものだけど、Dも基本的なものは同じだよ。

816 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 17:44:10 ]
f17.aaa.livedoor.jp/~labamba/?%B1%E9%BB%BB%BB%D2%A4%CE%CD%A5%C0%E8%BD%E7%B0%CC

817 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:01:49 ]
>>811>>815
とりあえず、ここを読んでみようか
www.digitalmars.com/d/expression.html
Evaluation Order

Unless otherwise specified, the implementation is free to evaluate the components of an expression in any order. It is an error to depend on order of evaluation when it is not specified. For example, the following are illegal:
アホ多くてワロタ

818 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:09:25 ]
どっちにしろ、abc.efg.hij()は左結合だから、
(abc.efg).hij()と解釈されることはあっても、
abc.(efg.hij)()と解釈されることは無いな


819 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:11:47 ]
>>817
明らかにアホはお前。

評価順と結合順を勘違いしてる大バカ野郎。



820 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:17:15 ]
Barモジュールにあるfooってことで
hoge.foo@Bar()
とかどうだろう。

これでFugaモジュールにfooがある場合も
hoge.foo@Fuga()
っていけるし。

けど重複していない場合は
hoge.foo()
と省略して書けるとか。

821 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:17:51 ]
>>818
そうだけど、typeof(abc)からefgを探して、無ければグローバルから辿るでおk。

822 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:19:09 ]
>>818
式(expression.module)がexpressionとmoduleをpackしたデータを返すことにして、
それに対して.memberを呼び出したときに、module.member(expression)と解釈される。
ただし、(expression.module)のデータ型はコンパイル時にのみ存在し、変数等に保持することは出来ない。

と定義すれば何の矛盾もなくね?

823 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:29:12 ]
>>821-822
何でそんなに無意味に複雑にする必要がある。

というか、そんな風にしたら foo.Bar.hogeという式のBarが何なのかを探すのが困難すぎる。

モジュール名を記述させたい理由は
>って記述してありゃ、Barモジュールのfoo()関数を読んでいるってのがすぐ分かる。
ってことじゃなかったのかよ。
まるっきり逆効果になることを言って何がしたいんだよ。



824 名前:821 mailto:sage [2007/11/11(日) 18:35:25 ]
>>823
複雑じゃなくて実装的に自然だし。

825 名前:821 mailto:sage [2007/11/11(日) 18:36:40 ]
でも無いか、勘違いスマソ。

826 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:38:31 ]
>>824
一行目しか読めないのか?

つーか、実装的にも自然じゃねーよ。。

aaa.bbb.ccc.ddd.eee()

これがどういう探索をしないといけないのか、よく考えてみろ
bbb.ccc.dddというモジュールがあったら?
ccc.dddというモジュールがあったら?

827 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:41:20 ]
配列のプロパティ的構文で、

module util;
int sum(int[] array) { ... }
...
sum = a.sum;

関数が定義されてるモジュール名を書くようにするには、どうすればいいか、という話だったよね。

関数なら、util.func(array);で問題ないが、プロパティ的に呼び出すときには、
array.util.func;
なのか、
array.uitl::func;
なのか、とか云々。

一人、訳の分からない人がいて混乱してるけど、元々はこういう話だったということで。

828 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:46:24 ]
何も考えずに、

array.(module.func)でいいと思うんだけど。

これが気に入らない人の意見が聞きたい。

829 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 18:49:56 ]
それ以上省略できたら無意味に分かりにくくなるだけだしな。



830 名前:802 mailto:sage [2007/11/11(日) 20:46:36 ]
>>806>>807>>815
予想してた斜め上の回答がきててワロタ
構文解析とか意味解析とか知らないくせに左結合とか右結合とか
結合規則だけでコンパイラ語ってんじゃねぇ、ヴォケw

例えば、hoge モジュールの中に foo クラスがあって、bar っていうメソッドがあったとして、
hoge.foo.bar っていう字句列が何を意味するか分かる?

831 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:50:39 ]
>>830
何にも分かってないのはお前だけー

832 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:53:06 ]
やれやれ、結局煽るだけか。
まぁ、納得できないんじゃなく、理解できないんだからしょうがないが。

833 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:55:24 ]
>>832
つーかさ、なんで>802クンは>830で突然戻ってきた風なくせに、
突然>830でキレ気味に「ヴォケ」とかあおってんの?

そんなに悔しい出来ことがあったのですかー?

834 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:57:09 ]
はいはい、ごめんねー

835 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:57:40 ]
やれやれ、反論できずに非を認めて謝っちゃったか。最初からそうしとけばよかったのにな。

836 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:00:09 ]
うん、そうだね^^

837 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:01:23 ]
どうやらようやく理解できたようで。めでたしめでたし。

838 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 21:02:32 ]
はい

839 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:11:43 ]
わかったふりしたい時は
偉そうにクイズ出してごまかすに限るよな。



840 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:12:29 ]
上はじゃじゃ馬下はヘボ これなーんだ?

841 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:23:20 ]
ちんこ






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

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

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