- 1 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 06:02:12.35 ]
- プログラミング言語 D (D Programming Language) について語るスレッドです。
■前スレ D言語 Part27 hibari.2ch.net/test/read.cgi/tech/1303022487/ ■本家 www.digitalmars.com/d/ www.d-programming-language.org/ (ドキュメント) www.kmonos.net/alang/d/ (和訳) ■コンパイラ www.digitalmars.com/d/dcompiler.html (DMD, 本家) dgcc.sourceforge.net/ (GDC, gccフロントエンド) www.dsource.org/projects/ldc (LDC, バックエンドにLLVM) ■参考URL f17.aaa.livedoor.jp/~labamba/ (D言語研究) f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF) dsource.org/ (dsource) tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0) www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games) dusers.dip.jp (D言語友の会) www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
- 829 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:41:57.52 ]
- 056->057間のstd.regexの変更っぷりに吹いた
- 830 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 08:13:07.47 ]
- typeidと.classinfoがあるのは歴史的な理由?便利さから?
- 831 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 08:28:41.96 ]
- >>810
公式ドキュメントのArraysに暗黙変換できるって書いてんだが…
- 832 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:44:43.72 ]
- きっと夢でも見たんだろう
- 833 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:49:28.15 ]
- 2.057ではねられるようになって首を傾げてたんだぜ
やっぱり regression か
- 834 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:44:44.34 ]
- Arrayに関しては禁止するべきだと思うんだがな
動的配列に静的配列入れたときも破壊的変更するとき初めてコピーされるという奇妙な仕様になってるし明示的にdupとかキャストさせるべき
- 835 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:04:51.37 ]
- っCopy-On-Write
- 836 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:32:24.51 ]
- >>831-833
d.puremagic.com/issues/show_bug.cgi?id=926 なんか 「D2 では禁止!ドキュメントが古い!」とか 言ってるんすけど・・・ユルセナイ シャザイト バイショウヲ ヨウキュウシル
- 837 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:12:32.03 ]
- trunk のドキュメントをのぞいて見たらこうなってた。(´・ω・`) ショボーン
○ A[] -> const(Object)[] × A[] -> Object[]
- 838 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:16:23.41 ]
- あー、うーん、まあそうか…
- 839 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:35:51.35 ]
- なるほど、そうじゃないと
auto a1 = new A[](10); Object[] a2 = a1; a2[0] = new Object; でバグっちゃうのか。 明示的に Object[] a2 = a1.dup; こうするのは今もできるってことね
- 840 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 20:30:19.03 ]
- そういやdupでimmutable剥がせる件ってどうなったんだろ
- 841 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 17:22:48.20 ]
- 細かい仕様変更にはもうついていけないよう
- 842 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:52:17.22 ]
- dupはimmutableはがせるでしょ
idupだとimmutableのまま
- 843 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:57:23.76 ]
- constとimmutableの違いがよく分からないよぅ
- 844 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 03:03:38.39 ]
- const: 不変値を関数間で共有
immutable: 不変値をスレッド間で共有
- 845 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 09:54:57.34 ]
- 2.058ダウンロードどこでできるんですか!?
- 846 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:12:21.70 ]
- まだリリースされてない
どうしてもさわってみたければ github から3点セットでDLしてビルドしる
- 847 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:35:50.05 ]
- >>844
間違ったこと教えちゃいかんよ・・・ const その参照から値は変えられないが、別の要因で変わることがある。 immutable いかなる要因でも値が変わらない。
- 848 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:50:05.45 ]
- constの分かりやすい例。
ideone.com/sGgmK
- 849 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:46:46.08 ]
- ガンダムで例えると
シールド付きがconstで フルアーマーがimmutableってことね この例えはとにかく、なるほど…勉強になりました。
- 850 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:52:49.18 ]
- constは引数変数向けの型ってイメージがあるな
引数と関わりのないconst変数なんて作らないよね?
- 851 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:05:15.37 ]
- クラスのフィールドでインスタンス初期化時に固定するものとかconstにする
- 852 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:09:39.82 ]
- それってimmutableでもいけるんじゃないの?
- 853 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:19:05.10 ]
- Const と Immutable
www.kmonos.net/alang/d/2.0/const3.html >>852 static this()
- 854 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:56:02.59 ]
- static thisでだとimmutable初期化できないのかーと思ったけどできるじゃん
どういうことが言いたかったの?
- 855 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 18:53:53.23 ]
- >>854
ごめん、勘違いしてた
- 856 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:16:59.45 ]
- 下のコードをコンパイルするとdmdが落ちるんですが。
dmdのバージョンは2.057です。 template foo(T){ enum foo = __traits(hasMember,T,"sizeof"); } static assert(foo!(int)); //DMD Crash
- 857 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:33:23.96 ]
- 久々にGUIライブラリを見て回った
gtkD・wxD・DFL(fork)・DWT辺りは元気だけどQtDが死んでるなぁ どこか別の所で元気にやってるのかな?
- 858 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:45:03.62 ]
- >>856
trunk の最新ソースを落としてビルドしたら落ちなくなってた(WinXP 32)
- 859 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:57:57.79 ]
- >>858
では、2.058では解決されているのですね ありがとうございます
- 860 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:01:51.83 ]
- 明日は2.058リリースか
3.0とかどうなったんだろな
- 861 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:11:08.52 ]
- D3はmoduleに代わってnamespaceを導入して
呼び出し側でもrefとかoutとかつけて属性を明示できるようになって プロパティはset/getキーワードを用意して自然に表現できるし Attributeクラスでメソッドの属性を自作できる上にラムダ式とかも余裕で使えるし しかも.NETフレームワークで動く
- 862 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:12:55.18 ]
- 今更namespaceとかありえないんじゃないかな
- 863 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:16:46.99 ]
- >>861
あとはVisualStudioで開発できれば完璧だな
- 864 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:29:42.65 ]
- D3では多重ディスパッチがついて型推論が進化
- 865 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:26:26.13 ]
- D3ではなんとヘッダーとソースをファイルレベルで分離して記述することができるようになります!
- 866 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:27:41.37 ]
- ヤメテ!
- 867 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:37:41.30 ]
- 機能追加を国民投票で選びます
投票券はTDPLに付属
- 868 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:04:21.14 ]
- 呼び出し側にrefつけるのは普通に欲しい
必須じゃなくてもつけまくるわ
- 869 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:49:28.42 ]
- >>868
C# とか VBのアレか アレはすごくほしい けどタプルとかうまく使ったらいらないぜ ってものかも知れない
- 870 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 00:20:34.12 ]
- なにそれ。
D3 と C# の違いを教えてくれ。 const ありの C# としても使えるならぜひ使おうかと思うんだが。
- 871 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 00:23:01.61 ]
- D3.0はPerl6よりは現実的な開発が予定されてる言語
- 872 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:02:54.60 ]
- Perl6ってそんな非現実的なの?w
- 873 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:12:46.83 ]
- はたしてあれ実装できるんだろうか
WebProg板にスレあったはず
- 874 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:23:54.85 ]
- ググってみたら吹いた。
設計開始から10年で初の処理系ってD言語超えてるな
- 875 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 07:09:01.91 ]
- 心配すんな、クリスマスには出る
- 876 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:03:17.74 ]
- Dは登場と共に処理系もあったじゃないか
永遠に開発中だけど
- 877 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:16:20.31 ]
- 設計完了に先立つこと10年にして早くも処理系
- 878 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 20:23:52.67 ]
- C言語だって・・・最終仕様より先に初期実装があったんだ!
|

|