1 名前:デフォルトの名無しさん [2008/04/14(月) 15:16:22 ] プログラミング言語 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フロントエンド) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF) ttp://dsource.org/ (dsource) ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語) ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) ttp://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games) ■ IDE ttp://dronten.googlepages.com/dscite (DSciTE) ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks) ttp://www.dprogramming.com/entice.php (Entice Designer) ttp://www.dsource.org/projects/descent (Descent) ttp://www.dsource.org/projects/poseidon (Poseidon)
941 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 15:00:45 ] こうか template Constructor{ >>938 } class A{ mixin Constructor; } void main(){ A x = A(); } そういえばstructとclassをコンパチブルにできるのかなー
942 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 18:37:17 ] 構造体のコンストラクタってまだないの?
943 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 19:04:45 ] >>942 ずっと無いと思うよ? 「構造体はPODであるべき」って頑なになってるから。 static opCallで代用するしかないんじゃね
944 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 19:20:33 ] バグかなバグかな? --- main.d --- import func; void main(){ line(); } --- fund.d --- void line(uint lineNum = __LINE__){ } $ dmd main.d func.d __LINE__ Internal error: e2ir.c 612
945 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 19:22:41 ] いけね、ファイルを分けなくても再現した。 void line(uint lineNum = __LINE__){} void main(){ line(); }
946 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 22:10:27 ] 2007年のカンファレンスで構造体にコンストラクタつけるとかなんとか言ってなかったか? 俺の記憶違いかな?
947 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 23:16:19 ] リテラルあるしなあ……。
948 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 01:59:50 ] gdcのsvnで手に入る一番新しいやつ。 std/c/windows/com.d interface IUnknown { HRESULT QueryInterface(IID* riid, void** pvObject); ULONG AddRef(); ULONG Release(); } ではなくて、 interface IUnknown { static HRESULT QueryInterface(IID* riid, void** pvObject); static ULONG AddRef(); static ULONG Release(); } が正しいような気がする。 後者じゃないとビルドできないし。
949 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 14:25:36 ] >>948 んなばかなあ
950 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 14:35:23 ] >>948 何で前者でエラーになるのか知らないけど、staticは無いと断言できる。
951 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 14:44:56 ] 大体staticで何をカウントしてるんだ
952 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:13:01 ] comが何なのか良く知らないので、 エラー回避のためにstaticにしたんだが、 やっぱりおかしいのか。 libphobos/std/c/windows/com.d:240: error: '*LTHUNK0' aliased to undefined symbol '_D3std1c7windows3com9ComObject14QueryInterfaceMWPS3std1c7windows3com4GUIDPPvZi' libphobos/std/c/windows/com.d:240: error: '*LTHUNK1' aliased to undefined symbol '_D3std1c7windows3com9ComObject6AddRefMWZk' libphobos/std/c/windows/com.d:240: error: '*LTHUNK2' aliased to undefined symbol '_D3std1c7windows3com9ComObject7ReleaseMWZk' みたいなエラーがでるんだが、 LTHUNK0なんてソースのどこにも出てこないし謎。 試しにいろいろいじって、たまたまstaticにしたらうまくいったという話。 まあ、comプログラミングなんかしないから、 別に通ればなんでもいいのだが。
953 名前:デフォルトの名無しさん [2008/08/03(日) 13:39:36 ] さっきちょっと思いついたんだけど変数の変更を一時的に禁止する様な機能ある? const(hoge, fuga) { // hoge, fugaは変更禁止 } // 変更OK
954 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 13:54:21 ] void main() { int hage = 42; (const typeof(hage) hage = hage) { writeln(hage); // 42 hage++; // error }(); } dirtyすぎる…
955 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 14:06:48 ] 最近ここで晒されるソースを見ても何がなんだかです。
956 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 14:17:12 ] >>953 pureとか予約語になってるんだし,要望したら入れてくれるんじゃね?
957 名前:953 [2008/08/03(日) 14:41:00 ] >>954 バグ回避目的なのに手段が真逆に向かっている様なw
958 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 15:09:29 ] なんか、バグが云々って言ってたので、 よくわかりませんが、つたない英語で投稿してみました。 www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.bugs&article_id=14747 適当なので、怒られてたり、意思が通じてなかったりしたら すいませーんっと。
959 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 15:14:46 ] ああ、bugzillaに投稿とかのほうがよかったんだろうなぁとか 思ったけど、いいや。やる気ないので、スマヌです。
960 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 15:16:56 ] これじゃ、何かいてるかわからないな。 >846 >847 >848 ここらへんの話です。 暑くて駄目だwww
961 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:13:57 ] 一時変数の名前はhigeを使ってください
962 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:43:12 ] >>953 既出みたいなもんだけど関数のconst引数じゃダメなの? class A{const void pp(){}} void f(const A a){ a.pp; } void main(){ A a = new A; f(a); }
963 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:45:56 ] 値型でもこう int i=1; g(i); void g(const ref int i){ i++; // error }
964 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 16:47:26 ] sakuraiさんが久しぶりにDの話題してるの見たw