1 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:09:54 ] プログラミング言語 D について語るスレッドです。 過去スレは >>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)
752 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 23:24:31 ] >748 お節介かもしれないけどCの文字列とDの文字列は全然違うものだよ。
753 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 09:48:47 ] Dでキャスト多用するのって格好悪いですか?
754 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 15:25:53 ] そんなのプログラムによって違う
755 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 23:46:37 ] AllegroがDでできるようになったら使う
756 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 00:54:47 ] ご自由に
757 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 21:48:34 ] www.kmonos.net/alang/wnd/topics/flectioned.ja.html > (標準で添付されているphobos.libは-gなしでコンパイルされているため、 > 実はうまくリフレクションが効きません。phobosを-gつきで > コンパイルし直すのが推奨されています。) phobosを-g付きでコンパイルする方法をどなたかまとめてもらえませんか?
758 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 22:53:08 ] makeでDFLAGSに-g指定すりゃ済むだけの話じゃないの?
759 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:34:21 ] >>757 以前、俺も少し戸惑ったよ。 その時のメモより… dmd/src/phobos/ にある、 .MAKファイルをテキストエディタで開く。 DMD=\dmd\bin\dmd CC=dmc などとある行の、各コンパイラのパスを、自分の環境に合うよう書き換える。 DFLAGS=-O -release -nofloat -w とある行に、-g を書き加える。 編集が終わったら保存して閉じる。 dmd/src/phobos/minit.obj のファイル更新日時を、 dmd/src/phobos/internal/minit.asm よりも新しくしておく。(アセンブルにはmasmが必要!?) dmd/src/phobos/ をカレントフォルダにしてから、makeを実行 例: make phobos.lib -f win32.mak しばらくすると、カレントフォルダに phobos.lib が作成されるはず。それをlibフォルダへ入れる。 dmd/src/phobos/ に作成された大量のオブジェクトファイルは不要なので削除していい。 だけど minit.obj だけは、今後のmakeの為に残して置く。
760 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:42:44 ] thx 後でやってみる
761 名前:759 mailto:sage [2007/04/04(水) 23:44:32 ] 補足 「ファイル更新日時を新しく・・・」は、更新日時を書き換えるツールなどで行います。 これは、アセンブルを回避したいためです。
762 名前:デフォルトの名無しさん [2007/04/05(木) 00:03:53 ] Descent を入れたのですが、他にもコンパイラーを入れる必要があるでしょうか? どうにも、コードのエラーチェックはしてくれるのですが、コンパイルされないし、 そもそも構成及び実行でも、Dらしきものが出てきません。 Eclipse3.2 なのですが、それがまずいのでしょうか?
763 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 00:07:29 ] >>761 cygwin 入れてるんで touch minit.obj した > dmd/src/phobos/ にある、 .MAKファイルをテキストエディタで開く。 いじった .mak ファイルは2つ dmd\src\phobos\win32.mak dmd\src\phobos\internal\gc\win32.mak さて phobos.lib はできたがちゃんと使えるかな?
764 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 00:14:18 ] www.kmonos.net/alang/wnd/topics/flectioned.ja.html これのサンプルを実行してみたが >hello Error: ArrayBoundsError hello(10) としか表示されないな・・・再コンパイル前と状況は変わらないようだ 何が悪いのでしょうか?
765 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 08:12:30 ] D Frameworkってのを落として中身覗いてみたら グリッドついてるしW系APIメインで使われてるし これは使えるのかなと思ったら1年以上更新されてないのね><
766 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:16:49 ] チミが続きをやればいいのだよ
767 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:18:09 ] リンクplz
768 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 12:54:49 ] >>764 D 1.010で >> Bugzilla 64: Unhandled errors should go to stderr ていう変更が入ったせい。 flectionedはException.printを置き換えて表示を変更してるんだけど、 DMDがException.printじゃなくてException.toStringを使うようになた。
769 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 14:55:08 ] >>768 まだ最新版には対応してなかったのか 残念
770 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 18:56:59 ] >>769 DMDの仕様変更が活発である限り常にそう
771 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 19:04:02 ] main.def(2) : Error 112: SUBSYSTEM Directive SUBSYSTEM CONSOLE,4.0 ^ main.def(2) : Error 52: .DEF Syntax Error SUBSYSTEM CONSOLE,4.0 これは一体何のエラーでしょうか。
772 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 19:43:49 ] >>770 まあね 丁度 flectioned を使おうと思ったタイミングで それが使えなくなるような変更があったなんて 運悪すぎだろ常識的に考えてとかおもて 早く更新されないかなー
773 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 20:11:41 ] 乗り遅れるの覚悟でバージョン下げればいいじゃくぁwせdrftgyふじこlp;
774 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 17:14:54 ] >>773 DMDの仕様変更が活発である限りそれはやめたほうがいい
775 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 17:16:29 ] void tester(float[2] bad, float[] good) { assert (&good[1] - &good[0] == 1); // ok assert (&bad[1] - &bad[0] == 1); // !!!!!?????? if (bad.ptr == good.ptr) // 静的配列ってポインタ渡しだっけ? { assert (&bad[0] == &good[0]); // ok assert (&bad[1] == &good[1]); // !!!!!?????? } } void main() { float[2] test; tester(test, test); } なぜだ……
776 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 19:27:45 ] 仕様にないことやろうとしてねえ?
777 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 19:29:17 ] >>775 www.kmonos.net/alang/d/abi.html >静的な配列を関数へ渡すと、例え静的な配列として宣言されていても、 >結果は実際には静的配列への参照となります。 ということで、静的配列は参照渡しされますね。
778 名前:デフォルトの名無しさん mailto:sage [2007/04/06(金) 21:00:40 ] >>775 適当に試してみたけど assertが失敗するのはdmdのバグっぽいから適当に報告するのが吉。
779 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 20:50:26 ] dflのツリービュー、+-の所しかマウスクリック判定しやがらん。 英語の達者な誰か報告したって。
780 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 23:00:43 ] >>779 テストめんどいから最小の再現コード張って
781 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 20:48:38 ] private import dfl.all; class MyForm: dfl.form.Form {dfl.treeview.TreeView treeView1; this() { text = "My Form"; clientSize = dfl.drawing.Size(240, 245); treeView1 = new dfl.treeview.TreeView(); treeView1.name = "treeView1"; treeView1.bounds = dfl.base.Rect(0, 0, 232, 228); treeView1.parent = this; TreeNode tn = new TreeNode("hoge"); tn.nodes.add("omg"); treeView1.nodes.add(tn); treeView1.click ~= &testClick; treeView1.doubleClick ~= &testClick; } void testClick(Object sender, EventArgs e) { msgBox("piko-n"); } } int main() { Application.run(new MyForm()); return 0; } 他のダブルクリックとかは何やっても正常。 HitTestですらラベル無視なんだけど、なんでだろう。
782 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 21:00:15 ] ちなみにイメージリスト作ってビットマップ置いて ダブルクリックイベントでHitTestするとすべて正常。 やっぱりクリックだけぽい。
783 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 00:44:28 ] std.c.stdioにfilemode関数があるんですが、 これを呼び出すと Symbol Undefined _filemode と出てリンクができなくなってしまいます。 何かコンパイルオプションをつける、環境変数を指定する等しなければならないことがあるのでしょうか。 それともDMDのバージョンが古い(1.005)のが原因なのでしょうか。
784 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 00:55:00 ] >>783 うちの std.c.stdio にはないけど?(dmd1.010)
785 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 01:05:30 ] >>781 確かに click は + - でしか反応しないけど afterSelect / beforeSelect を使えばいいのでは?
786 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 04:06:04 ] bud を導入して実行してみたらsc.iniが見つからないと言われました。 bud.exe とソースコードをdmd.exeと同じフォルダに入れたら成功したので 環境変数の問題だと思うのですが、どうすればいいのでしょうか。 Error: bud:Unable to find Config File 'sc.ini' in [.\,,C:\Documents and Settings\ユーザ名,C:\作業フォルダ\]
787 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 05:43:48 ] >>784 すいません。間違えました。 filenoでした。 extern(C) int fileno(int); とかやってもだめでした。
788 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 05:48:57 ] fileno()は大抵マクロ 非標準だし
789 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 06:15:47 ] じゃあDで標準入力をバイナリモードで開きたい時はどうすればいいのですか?
790 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 07:36:26 ] さあ。phobosにはそんな概念ないからの。
791 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 12:04:17 ] どうせ構造体の中の変数1つ拾ってるだけだろうから、 そういうインライン関数作っちゃえ。
792 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 14:01:38 ] version(Win32) stdout._flag |= _F_BIN; としても効かんな。なんでだろ
793 名前:783 mailto:sage [2007/04/10(火) 16:03:35 ] とりあえずDMCのstdio.hをのぞいてみると、filenoで参照しているのは構造体の_fileメンバだたt。 といわけでこんなプログラムを書いてみた。 import std.c.stdio; version(Windows) extern(C) int setmode(int, int); char[] readStdIn(ulong size) { char[] buf; char c; version(Windows) { int O_BINARY = 0x8000; setmode(stdin._file, O_BINARY); } while(buf.length < size && (c = getchar) != EOF) buf ~= c; return buf; } void main() { char[] str = readStdIn(500000); FILE* fp = fopen("output.jpg", "wb"); fwrite(str.ptr, str.length, 1, fp); fclose(fp); } test.exe < input.jpg とやってみても壊れたファイルしか出力されませんでした。 テキストを入力して実験した結果、バイナリモードに切り替わっていないようです。 同じようなCのプログラムを書いてみたところ、 BCCならきちんとバイナリモードになっていましたが、DMCはテキストモードのままでした。 どうやらDMCのバグか仕様の予感です。
794 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:12:57 ] Cライブラリの問題な気が
795 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:22:51 ] そもそも標準入出力がテキスト以外を扱うように出来てるかが問題だな。
796 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:44:24 ] つまり解決策無し?
797 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 16:51:53 ] phobosをコンパイルしなおせばいけるんじゃないか?
798 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 17:02:34 ] >>793 で試したCのプログラムがちゃんと動くようなCライブラリとリンクしてやれば、うまくいきそうな気がするなあ。
799 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 21:49:11 ] つまりまだニヤニヤする以外の目的で使うなって琴田。
800 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 00:15:02 ] そうでもないか
801 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 02:34:20 ] import std.cstream, std.c.windows.windows, std.stream; extern (Windows) HANDLE GetStdHandle(DWORD nStdHandle); const STD_INPUT_HANDLE = -10; const STD_OUTPUT_HANDLE = -11; void main() { auto din2 = new File(GetStdHandle(STD_INPUT_HANDLE), FileMode.In); auto dout2 = new File(GetStdHandle(STD_OUTPUT_HANDLE), FileMode.Out); auto buffer = new ubyte[256]; while (true) { auto len = din2.read(buffer); if (len == 0) break; dout2.write(buffer[0..len]); } } こうか?
802 名前:783 mailto:sage [2007/04/11(水) 08:03:20 ] >>801 あ、できた。 つまり標準入力をバイナリモードで得たければOSのAPIを叩けということなんですね。 ありがとうございました。
803 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 09:20:55 ] D言語はあんまりわからんけどC/C++ @Win32 なら freopen("CON","rb",stdin); でいけるからこれでいいんじゃね?
804 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:43:55 ] D言語っていつのまにやら、Version1.0になってたんだね。 1.0越えたら手を付けてみようと思ってたんで、今後このスレにはお世話になると思います。 よろしくお願い
805 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:45:28 ] 名前だけ 1.0 になったけど、 今までと変わらず仕様変更してます。 どう見ても名前だけです。 本当にありがとうございました。
806 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 22:53:44 ] 1.010で-v付けても1.0互換じゃなくなっちまったしなw
807 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:02:34 ] >>806 -v1 が1.0互換で、 -v はverboseなんじゃないの?
808 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:07:31 ] 1.*って以上の意味はないんだろうな…
809 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:09:52 ] >>807 すまんそのとおり
810 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 01:04:09 ] >>803 標準入力とCONでは意味が違う。 リダイレクトやパイプ越しのケースがあるからな。 Cランタイムライブラリに依存せず標準入力から読み出したければ GetStdHandle(STD_INPUT_HANDLE)でハンドル取ってきて ReadFile() これでいい。
811 名前:デフォルトの名無しさん [2007/04/12(木) 07:44:57 ] D言語関連の和書って、まだなにもないんだっけ?
812 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 07:48:56 ] ググったらパーフェクトガイドとかってのがでてきたけど、古い上に売れ切れてるし。
813 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:01:35 ] >>812 むっちゃ古い k.inabaさん以外全部沈没
814 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:05:18 ] コンパイラが0.106とかの時代だからまだ新しい方じゃない?
815 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 08:16:10 ] inabaタンが、頑張ってくれてるみたいだから一括ダウンロードしてみたけど これ壊れてない? 目次だけで内容が見れないんだけど。 vista で見てるからかなぁ?
816 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:57:09 ] 新しいキーワードのmacroってなに?
817 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 12:41:12 ] For the future (unimplemented) AST macro feature.
818 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:29:12 ] >>815 ttp://support.microsoft.com/kb/902225/ → 方法2
819 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 13:55:14 ] What's New for D 1.011 Apr 11, 2007 New/Changed Features Extended Codeview symbolic debug output with LF_OEM types. Extended Dwarf symbolic debug output with DW_TAG_darray_type, DW_TAG_aarray_type, and DW_TAG_delegate types. Added keywords ref and macro. final classes cannot be subclassed. final for variables now works. ref now works as a replacement for inout. Fixed so multiple type inferring declarations like auto a=1,c=2; works. Bugs Fixed Fixed problem with overloading of function templates that have the same template parameter list, but different function parameters. Fixed problems with type deduction from specializations that are template instances. Fixed assert template.c(2956) s->parent Got .property to work for typeof. Fixed bug in DW_AT_comp_dir output for some linux versions. D.announce/8027 D.announce/8047 D/51800 Bugzilla 1028: Segfault using tuple inside asm code. Bugzilla 1052: DMD 1.009 - aliasing functions from superclasses may result in incorrect conflicts Bugzilla 1080: Failed to link to std.windows.registry Bugzilla 1081: with using real and -O option, dmd generate bug code Bugzilla 1082: The .offsetof property yields a signed int, a size_t would be more appropriate Bugzilla 1086: CodeView: missing line information for string switch Bugzilla 1092: compiler crash in ..\ztc\cod1.c 2528 Bugzilla 1102: switch case couldn't contain template member Bugzilla 1108: Indexing an int[] not evaluatable at compile time Bugzilla 1122: dmd generate bad line number while reporting error message
820 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:02:31 ] 今になってrefを導入してくるか……っ! 「inoutはrefに置き換えるかもしれません」って確かに言ってたけど!
821 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:13:22 ] コード書き換えの嵐ktkr いつかはやらなくちゃだったかもだけど、1.00になったときがよかったなぁ
822 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 14:46:21 ] それでこそD言語
823 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 15:32:12 ] D 0.1011 でいいんじゃね?
824 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:14:34 ] >>823 なんか二進数みたいに見えてきた・・・orz
825 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 16:16:16 ] 実は16進数で 0.D0.1011
826 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 18:17:07 ] >>825 その投稿時間はネタに合わせたのか
827 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 19:49:04 ] >>825 みらくるだなぁ
828 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 20:44:25 ] >>825 の16揃いはバネを使ったインチキだったので 警察に捕まりました。
829 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 20:50:07 ] >>825 上手いねえ
830 名前:815 mailto:sage [2007/04/12(木) 21:57:56 ] >>818 d
831 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 06:46:32 ] ドキュメント生成が見た目いまいちなんですけども標準以外でツール作られてたりしないの?
832 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 10:49:14 ] Doxygen は、Dに対応してるらしいぞ。 見た目はdmdでも、.ddocファイルで指定すれば、在る程度好きなようになるでしょ。 .ddocでユニークな文字列を埋め込んでおいて、スクリプトなどで再加工するとか…。
833 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 13:44:06 ] 1.012きた バグ修正オンリーか
834 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:27:23 ] digitalmars重すぎる。ミラーとか無いのかな?
835 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:08:50 ] >>831 candydocとかいいかんじかも。
836 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:22:12 ] すみません。 最近始めたものですが、無名クラスについて教えていただけないですか。 Java で書くと以下のようになるものは、Dだとどのように書けば良いのでしょうか。 Player player = new Player(new Strategy(){ public void method() { }});
837 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:39:16 ] auto player = new Player(new class Strategy { public void method() { } });
838 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 05:31:38 ] >>835 サンクス。 無駄に格好いいなこれw
839 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 12:23:53 ] DでAjaxやってるひといますか?
840 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 13:23:20 ] DとAjaxに何の関係が? DでCGIするって話?
841 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 17:45:13 ] CGI用のFrameworkっぽい物あったっけ?
842 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 21:41:05 ] ttp://www.wikiroom.com/sakurai/index.php?FrontPage ここくらいしか知らない
843 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 21:52:10 ] dsource.orgにあった気がする。
844 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 03:52:07 ] GWTみたいなのをDでやりたいんです
845 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 04:19:04 ] Dのような低レベル言語でWebアプリ作るの大変そうだな〜。 PHPとかとはまた違った面白さがありそうだが。
846 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 04:49:42 ] いやD言語は高レベルだし。ライブラリが揃ってないのが激しく面倒だけど。
847 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 09:23:20 ] これが歳の差か
848 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 09:26:47 ] Dは中レベルだよ。
849 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 10:03:03 ] Dでファイルのアップに対応したCGIライブラリ作ったけど、 1.4MB以上のファイルを食べさせるとしぬという素敵仕様になってしまったorz
850 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 10:06:31 ] Dで使えるODBCアクセス用クラスみたいなのありますか
851 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 10:15:44 ] 言語仕様の変更が怖くて D でライブラリ作る気しないなあ。
852 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 11:47:19 ] あなたにはD言語はおすすめできません