- 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)
- 369 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:03:41 ]
- 昔のVisualStudioはよくそんなことなってたよなw
Descentでなったことはないわ。
- 370 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:28:47 ]
- DescentでMake使えるようにならんかなぁ
- 371 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:34:26 ]
- と思ったらEclipseのBuilderから普通に使えた
- 372 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:37:39 ]
- mixin(import("con"));
これ通らないのかよー
- 373 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:42:58 ]
- >>372
-J.
- 374 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:12:58 ]
- それしてもコンパイルは通ったように見えるけど、実際は何も生成されない。
- 375 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:14:13 ]
- 何も生成されない、というか空文字列として扱われてるみたい。
- 376 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 08:25:02 ]
- >-J.
これがなんかの絵文字かなやんだおれは 修行がたりない
- 377 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:40:40 ]
- >:-J.
- 378 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:39:49 ]
- || -J. |
- ノ
- 379 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:33:30 ]
- ||||
-J o/
- 380 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:02:35 ]
- やってることが暇人すぎてわろた
- 381 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:40:20 ]
- 何か建設的な話題はないのか
- 382 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:03:30 ]
- 2010年にD++が出る
- 383 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:17:42 ]
- D#とDavaとDoberonも出るよ
- 384 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:42:15 ]
- DaskellとかDCamlとかDispに期待。
- 385 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:51:46 ]
- DOBOLだな
- 386 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:53:36 ]
- 最近はバグ取れてきた?
そろそろ本格的に使ってみようかと思うんだが(趣味でだけど) JavaとRubyに慣れた身にはC++は苦痛・・・・・・代替言語が欲しい
- 387 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 03:58:32 ]
- javaに慣れてるならライブラリが薄いこと以外はスーパーセット的に使えるだろ
rubyみたくクラスに機能をインジェクションしようと考えてテンプレートをいじる遊びもできるし
- 388 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 11:02:13 ]
- >>386
バグは普通に使う分にはすでにあまり問題ないレベルであるように感じる。 趣味で追いかける分にはD言語は愉快な言語だと思う。
- 389 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:20:19 ]
- struct Matrix(T, int M, int N) {
const Matrix!(typeof(T + U), M, N) opAdd(U)(Matrix!(U, M, N) that); } こんな感じでテンプレートの引数として使われてるテンプレート引数って推論できないものかなあ。
- 390 名前:386 mailto:sage [2008/06/07(土) 15:23:42 ]
- >>387-388
ありがと。何よりもまず使ってみる
- 391 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:44:05 ]
- 質問。
template hoge(int hage) { void hogefunc() { ... } } void func(int arg) { mixin hoge!(arg); hogefunc(); } って、どう展開されるんですか?
- 392 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:47:00 ]
- argはコンパイル時定数じゃないからテンプレートに渡すことはできない。
- 393 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:21:15 ]
- でもコンパイルとおっちゃうんですよねー・・・。
不定値になるのかな?
- 394 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:28:14 ]
- バグでしょ。
- 395 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 07:59:20 ]
- CTFEが働いているとかはないのか
- 396 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:29:42 ]
- >>391
何故か0が渡されてる codepad.org/qbKJaxYV
- 397 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:24:22 ]
- typedefで初期値を変えても0が渡されてるからint.initですら無いようだねぇ。
- 398 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:35:15 ]
- >>395
CTFEにしても、関数はランタイムでも実行できないとだめだから、 コンパイルが通るのがおかしい。
- 399 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 18:03:26 ]
- 既出のバグなのかな?
あの大量のリストを全部確認するのはつらいよなあ… 1000近くあるし英語だし… というかこれも結構重複とかしてるんだろうなぁ…
- 400 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:06:25 ]
- 連想配列をイテレートする便利クラスってなかったっけ?
キーの大きい順にとか、値の小さい順にとかやりたいんだけども。
- 401 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 00:03:47 ]
- しっかりしたライブラリなら、
dsss build --doc でドキュメントが生成できるのな。知らなかったぜ。 dsss net install は未だに成功した試しがないんだがw
- 402 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 08:04:55 ]
- dmdとcandydocで作るのと一緒のやつだっけ?
そういえばdmd -doc使ってないなあ プロファイラとコードカバレッジとユニットテストが dmdでできるのは重宝しているが
- 403 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 10:45:14 ]
- >>400
foreach (v; aa.keys.sort) {...} とかじゃ不足?
- 404 名前:403 mailto:sage [2008/06/09(月) 10:48:26 ]
- 微妙に間違えた。
キーで回すんだから foreach (k; aa.keys.sort) と書かなきゃ。
- 405 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:45:00 ]
- 値でソートしたり、値が一致したときにキーにフォールバックしたりしたいの。
- 406 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 16:03:57 ]
- >>404
まだ微妙じゃないのか? foreach (v, k; aa.keys.sort) じゃね? >>405 >フォールバック ちくしょう、おいらにゃ意味がわかんねぇ
- 407 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:01:16 ]
- >>406
書くならこうだろう。 foreach (i, k; aa.keys.sort)
- 408 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:19:56 ]
- 今無性にimport文でワイルドカード使いたい。Javaみたいに。ニュースグループではそんな無駄な
機能いらねぇよ派が多数だったみたいだけどな。Tango のライブラリとか細かすぎていちいち 書くの面倒になっちゃうよ。DFL みたいに all.d みたいなファイルを用意しておけば、まぁ 似たようなことはできそうなんだけど。
- 409 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:45:53 ]
- Tangoにもまとめてimportする用のモジュールあるじゃん。
- 410 名前:408 mailto:sage [2008/06/10(火) 03:40:56 ]
- …あ。tango.group なんてあるのね。>>409 のお陰で得した気分だ、ありがとう
- 411 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 04:09:13 ]
- 処理速度ってC++より早いのか?
- 412 名前:デフォルトの名無しさん [2008/06/11(水) 08:37:58 ]
- また馬鹿げた質問を
単純ループのベンチマークでもとって比べるか?w
- 413 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 08:49:25 ]
- 処理速度気にするなら単純なコードでコンパイルして逆汗して比較汁
コンパイラの出来も同時に判る 組み込みやってた知り合いはそれやってたらできたてのコンパイラのバグみつけた
- 414 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 10:00:11 ]
- string s = Format!("Arg %s = %s", "foo", 27);
を実行しようとすると、 cannot implicitly convert expression ("Arg %s = %sfoo27") of type const(char[]) to invariant(char)[] て怒られた。 なんでstringで受けられないの? ってことと、あと文字列が連結されてるだけで置換されてない……。 公式のサンプル通りなんだけど、ドキュメント古くなってる? 俺がなんか変なことしてるのかな。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 13:33:38 ]
- metastringsのソース見れば分かるけど返ってくるのはconst char[]なので,
stringでは受けられないんじゃないかなぁ(実際はconst(const(char[]))かな). 使うときはいつもautoなので気にしてなかった. それと,Formatの中ではchar[]で分岐してるので, ここをconst char[]に修正しないとまともにフォーマットされない.
- 416 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:46:29 ]
- Formatはconst/invariant導入されてから壊れっぱなしだな。
めったに使わないから不自由はしてないけど
- 417 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:23:07 ]
- trunkにあるから書き換えてくれていいよ!
- 418 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 12:28:58 ]
- D言語楽しい!
- 419 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:41:53 ]
- さいきんBill Baxterさんが本家メイリングリストに出てこないなぁ。
お忙しいのか?
- 420 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:27:19 ]
- >>418
The old collection package will be deprecated prior to Tango 1.0. こういうところがだろ?wwわかります。
- 421 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:09:15 ]
- ttp://www.dsource.org/projects/tango/forums/topic/523
これか なんでいきなりそんなことになんのよw あまりにもbetaがbetaとして機能してねえw
- 422 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:11:20 ]
- D言語使いには勇者が多いw
- 423 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:05:08 ]
- linux版のThreadクラスって、処理が終わってもリソース開放しないのな
Threadクラスはガベコレが見てるから、別クラスを作るわけにもいかないし phobos書き換えないと使えないってどんだけ std.fileもなんかおかしいし linux版ってもしかしてだれも使ってない? windowsから移ってきてみたら、びっくりだ
- 424 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:36:39 ]
- たまにはソースとか読んでみようと思ったのに、
コンパイラにくっついてるのってひょっとしてフロントエンドの部分だけ? コード生成とか最適化とかの部分はどっか別のところにある?
- 425 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 16:10:26 ]
- >>424 その辺はdmcと共有してて非公開だったと思う
- 426 名前:デフォルトの名無しさん [2008/06/13(金) 16:24:39 ]
- >>424
フロントエンド部分だけがGDC用に公開されてる。
- 427 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:58:39 ]
- ttp://www.dsource.org/
みれないようわーん
- 428 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:35:38 ]
- >>427 もう見える
- 429 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:14:13 ]
- dsource.org の鯖はあんまり栄養状態が良くないよな。鯖そのもの
だけじゃなく、プロジェクトも abandoned なのが多いし。
- 430 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:34:32 ]
- windows やら unix やらばかりじゃなくて、
組み込みとかにも目を向けて欲しいんだが。
- 431 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:37:06 ]
- 組み込みでGCやなんやはオーバースペックじゃないか?
まあ、最近は組み込みっていってもWindows動いてたりするけどさ。
- 432 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:41:09 ]
- 最近の言語では一番組み込みに適用できそうな予感
ある程度のスペックのあるターゲットになるだろうけど
- 433 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:51:10 ]
- >>429
終わってるプロジェクトとそうでないものを区別して欲しいな 最終更新日時でソートするだけでもいいけど
- 434 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:44:06 ]
- tango、現trunkにて、tango.util.logパッケージでも破壊的な変更が…
いいぞ、もっとやれ(笑)
- 435 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:55:46 ]
- うぉるたんからして破壊的な変更大好きだし。
- 436 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:06:52 ]
- D好きはマゾですか
- 437 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:12:28 ]
- 破壊的な仕様変更は普及してない時期にしかできないw
- 438 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:27:41 ]
- つまりDはいつまでも破壊的に変更できるわけですね!
- 439 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:32:35 ]
- プロトタイプは一旦作ってソースを捨てるのが
正しい方法らしいからいいんじゃねw
- 440 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:10:22 ]
- >>439
金と時間に余裕がなきゃできないけどなw 一度やってみたいよ。
- 441 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:27:46 ]
- >>439,440
ありがとう、やってみる。
- 442 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:11:12 ]
- >>441 何をだろう・・・
- 443 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:26:51 ]
- >>441はうぉるたん
- 444 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:35:24 ]
- TangoがDの命名規則に従う伏線とか…
- 445 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:45:37 ]
- >>443
やめてくれww
- 446 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:48:48 ]
- tango.text.Regex の正規表現のコンパイルの遅さに萌え
- 447 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:09:02 ]
- gdc on MinGWのビルドがうまくいかん。
2.x系が使いたいんだが、 最近のバイナリってどっかにないかな?
- 448 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:04:51 ]
- をるたんそろそろ更新をあたえてくれ〜
- 449 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:03:08 ]
- tango.text.Regexがdebugビルド不可なのは、何の意図なのだろうか
- 450 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:03:47 ]
- debugなんてのは臆病者のやることだ。
- 451 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:21:22 ]
- 臆病者と馬鹿者のどっちになるかってことだな。
- 452 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:54:06 ]
- うぉるたんやプロパティの+=はまだかいの
- 453 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:08:26 ]
- さっき食べたでしょ
- 454 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:50:05 ]
- C++のstd::vectorぽいことをしたいのですが
動的配列+phobosのalgorithmで頑張る? →push_backしたい。 →remove_if等が存在しないような? tangoのcollectionを使う? →sortやremove_ifをしたい場合、toArrayで配列にしないと無理? →stable_sortが存在しないような? いまいちこれだという方法が無い気がするのです。 なにか良いライブラリ等ありますでしょうか。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:47:21 ]
- →push_backしたい。
int[] a; a ~= other; →remove_if等が存在しないような? 2.x系なら ttp://www.digitalmars.com/d/2.0/phobos/std_algorithm.html#inPlace int[] arr = [ 1, 2, 3, 4, 5 ]; // eliminate even elements auto r = eliminate!("(a & 1) == 0")(arr); assert(r == [ 1, 3, 5 ]); assert(arr == [ 1, 3, 5, 4, 5 ]); で無理かな?
- 456 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:30:55 ]
- Version D 2.015 Jun 17, 2008
PICマイコン対応…と夢想しかけた。
- 457 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:36:30 ]
- * Function templates can now deduce the return type if they are declared with auto.
戻り値型推論キター * Added Constraints to templates. どうせならconceptまで実装してくれよ。
- 458 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:44:30 ]
- (1) auto func(T)(){ return 1; }
(2) auto func(){ return 1; } (1)は通るのに(2)は通らない。けち臭いなあ
- 459 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:57:25 ]
- auto func()(){ return 1; } でおk
- 460 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:58:50 ]
- ああ、テンプレートはパラメータなしでもよかったのか。
でも、ばっちいお…
- 461 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:29:31 ]
- 戻り値の型推論!!
でもなんで無名関数とテンプレートだけなんだ * Added Constraints to templates. これは何かすげーなw
- 462 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:32:20 ]
- テンプレートの型推論のルーチンを
使い回すのが難しいコードになってるとか邪推。
- 463 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:51:41 ]
- 無名関数の戻り型推論って結構まえからできなかったっけ?
- 464 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:01:38 ]
- そだね
今回できるようになったと言ってるわけじゃないんだわ
- 465 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:14:16 ]
- auto f()(){
typeof(return) a; return a; } void main() { f(); } コンパイラしんじゃうよー
- 466 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:03:34 ]
- Constraintにキーワードifつかっちゃったのか。
なんか気持ち悪いな
- 467 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:37:43 ]
- 予約語はできるだけ増やさない、みたいな方針があるのかな。
前から結構使いまわしてるよね。
- 468 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:05:49 ]
- ちょっとlibpngが使いたいと思ってポートがあるかなと思って検索してみたら、
こんなスレがひっかかってちょっとワロタ D言語でエロゲーつくって ttp://pc11.2ch.net/test/read.cgi/gamedev/1091256780/
- 469 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:09:43 ]
- DからDirectXってそんなに面倒そうでもなさそうなんだがな・・・・・?
Cとのインターフェースはあるんだから
|

|