- 1 名前:Win64をやりたい場合はMSVCwo [2013/01/21(月) 12:39:54.40 ]
- プログラミング言語 D (D Programming Language) について語るスレッドです。
■本家 dlang.org/ - 公式(英語) www.kmonos.net/alang/d/ - 公式の和訳 d.puremagic.com/issues/ - D言語バグ報告 https://github.com/D-Programming-Language - D言語開発リポジトリ ■Wiki dusers.dip.jp/ - D言語友の会(日本語フォーラムあり) prowiki.org/wiki4d/ - Wiki4D(公認Wiki) ■前スレ D言語 Part30 toro.2ch.net/test/read.cgi/tech/1343660743/ ■過去スレ、関連スレ makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
- 2 名前:Win64ビルドをやりたい場合はMSVCをインストールしておくこと mailto:sage [2013/01/21(月) 12:41:38.26 ]
- ■IDE
www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン) code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン) mono-d.alexanderbothe.com/ - Mono-D (MonoDevelop プラグイン) ■ライブラリ www.dsource.org/projects/dwt - DWT(GUIライブラリ) www.dsource.org/projects/gtkd - GtkD(GUIライブラリ) https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版) www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング) www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング) ■D言語で作られたゲーム www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画 www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
- 3 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 15:17:29.09 ]
- 新スレ記念にマジレスすると
Qt とか Python とか知ってしまうと D いらないんだよね
- 4 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 16:59:54.30 ]
- dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
403
- 5 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 17:18:13.62 ]
- ひょっとしたら復活するかもしれないので一応そのままにしておいた
が、そろそろ一ヶ月たつから見込みは低い 避難所がほしいな
- 6 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 17:34:27.03 ]
- dmd.exe -c -inline -O -release -w -version=Unicode -version=Windows7 -version=WondersBuild -ofwonders\gdiplus.obj wonders\gdiplus.d
wonders\gdiplus.d(1147): Warning: min property is deprecated, use min_normal instead wonders\gdiplus.d(6005): Error: class wonders.gdiplus.CachedBitmap identity assignment operator overload is illegal
- 7 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 18:46:05.48 ]
- core.sys.windows.windows 定義の数値型は64bitに対応できてないね
もうバグ報告されてるかもしれないけど 英語書けないので誰かよろしく…
- 8 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 20:12:47.72 ]
- LONG_PTRとかは対応してるけど
WPARAMとかLPARAMとかLRESULTがuintとかint決め打ちなのが原因みたい
- 9 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 21:29:01.16 ]
- やっぱりC/C++のintとかlongのサイズの型の定義モジュールがいるんだって
- 10 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 21:56:12.97 ]
- cintとかcfloatとかcdouble…
あれ?
- 11 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 22:09:45.22 ]
- まずcintを定義するために条件分岐が必要で、
次にDWORDみたいなのをcintを使って定義するために条件分岐が必要で…
- 12 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 22:10:58.37 ]
- 別名定義と条件コンパイルで何とかしてくれという方針では
- 13 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 22:27:45.07 ]
- version(Win64) { }
- 14 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 22:34:29.65 ]
- (size_tじゃ)いかんのか?
- 15 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 23:36:13.58 ]
- com関連と64bitが整備されれば
Windows用のGUIアプリケーション作るときに視野に入ってくるんだけどな 手が届きそうなのに届かないw
- 16 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 12:43:45.25 ]
- 関数の引数に構造体の代わりに alias thisした型を入れたら暗黙的に型変換してくれないかなぁ・・・
opAssignでいけるかと思ったらそんなことなかった
- 17 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 13:19:45.67 ]
- いや無理だろ
alias this以外にもメンバあったら死ぬじゃん
- 18 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 17:09:08.13 ]
- bgzlrks
- 19 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 20:23:01.64 ]
- なげーよ
- 20 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 20:38:05.86 ]
- >>18
ロシア大使館に言えよ
- 21 名前:デフォルトの名無しさん mailto:sage [2013/01/24(木) 12:06:21.22 ]
- 友の会 dusers.dip.jp
ソース貼付サイト(2.061)dpaste.dzfl.pl/ 年末につながらなくなっていたが両方とも復活した
- 22 名前:デフォルトの名無しさん mailto:sage [2013/01/25(金) 03:28:31.95 ]
- ありがとうございます!
- 23 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 17:30:10.97 ]
- DDTは最新のeclipseに対応していないんだ
- 24 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 17:31:29.19 ]
- DDTステロ!
- 25 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 17:38:17.43 ]
- DMDscriptってコンパイル通し作業行われてないんですか?
- 26 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 19:44:56.20 ]
- ウォルター様は通し作業は有志が動作確認できるようにとわざわざチェックしないでリリースして下さります
- 27 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 20:27:51.33 ]
- ラムダ式の時だけじゃなくてもうすべての場所でreturn省略できたらいいのに
- 28 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 20:34:12.14 ]
- 関数型言語とかはそうだな
でもあれ手続き型言語でやるとバグの温床だからな
- 29 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 20:37:26.34 ]
- ハゲの温床に見えた俺
そろそろ寝るか
- 30 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 20:40:59.94 ]
- return を廃止してその代わりに
関数の頭に fn みたいなキーワードを必須にするのなら 賛成してやってもいい
- 31 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:00:12.74 ]
- なにそのjavascriptの派生言語みたいなそれ やめろよ
- 32 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:07:14.30 ]
- それ何てrust
- 33 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:16:25.75 ]
- 一文なら、という条件付きならいいんじゃね
- 34 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:20:10.90 ]
- >>28
詳しく知りたい なんかまずいの?
- 35 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:26:13.10 ]
- return忘れても
別の値が返ってとりあえず動いてしまうとか
- 36 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:40:11.17 ]
- 狙ってなくても戻り値を返してしまうからな
特に関数定義の頭で戻り値の型を明示しなくて良い場合(動的型や型推論付き)は さらにややこしくなる、まあ組めなくはないけどね
- 37 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 22:58:43.29 ]
- そんなこと言ってたらOCamlとかバグの塊でとてもじゃないけど使えないみたいな状況になってるはずなんだけど
- 38 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:00:33.57 ]
- ウォルターの人生そのものであるD言語を
そう簡単に仕様変更するわけがないだろ!!
- 39 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:02:33.16 ]
- OCaml は型チェックが厳しいから。
- 40 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:15:46.04 ]
- 少なくとも表向きは型のチェックなんてないように思うが
それでも型チェックがうるさいと判断するのかね?
- 41 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:19:56.11 ]
- OCamlは整数の加算と小数の加算で演算子が変わるほど厳しいじゃん・・・
- 42 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:22:29.97 ]
- 関数が常に一文なら問題ないんじゃね
必ず戻り値を何か書かないといけないわけで
- 43 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:30:01.83 ]
- 関数定義をラムダ式を代入でもいけるようにしてほしいわ・・・
- 44 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:40:12.59 ]
- enum func = (int a)=>a;
- 45 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 23:40:14.40 ]
- enum f = (int n){ return n+1; }; // 旧
enum f = (int n) => n+1; // lambda 戻り値型の省略なんてしなくていいからreturn省略したい enum f = int(int n){ n+1; }; これでいいじゃない・・
- 46 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 00:11:52.28 ]
- それならセミコロンがないほうがいいな
最後の文にセミコロンが無い時に限りreturnの代わりになる、でどうだ enum f = int(int n){ n+1 };
- 47 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 01:24:29.69 ]
- ラムダ式だけは何か趣味機能な気がする
これあると便利な事ってどういう分野なんだ
- 48 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 01:50:29.88 ]
- ラムダ式便利すぎるだろう
むしろ使わない方がおかしい
- 49 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 02:07:51.61 ]
- サッパリ想像できない
具体例がほしい
- 50 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 02:47:44.46 ]
- レンジとかアルゴリズム使わない人にはわからないかもね
- 51 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 04:46:41.37 ]
- 普通のdelegateリテラルで十分な気がするんだけど
- 52 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 07:14:51.87 ]
- =>の糖衣構文はアルゴリズムに渡す時に素敵すぎるね
- 53 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 07:54:38.16 ]
- 記述が短くなるというのは想像以上にいい
これは実際に使う場面に行き当たらないと実感するの無理かも
- 54 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 07:56:45.25 ]
- あれだ
推論可能な場面でいちいちautoでもvarでもなく 型名を書かなきゃいけないJavaとかに絶望するのといっしょの感覚かも
- 55 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 09:24:01.61 ]
- どうせ引数の型あんまり省略できないし、delegateとはreturnの有無の差くらいしか無いと思うんだけどなあ・・
- 56 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 09:31:30.61 ]
- 便利かどうかなんて主観でしかないんだから互いに「お前がそう思うんならそうなんだろうお前ん中ではな」で終わる話
- 57 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 11:49:13.97 ]
- 平行線だったのは結果論だけどなー。
その主観が交わる可能性があった以上、コピペでまとめちゃうのはいくないっすよ
- 58 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 12:00:05.55 ]
- ( {...} ) <- こういうのがイヤ
- 59 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 12:01:17.46 ]
- 俺は好き
- 60 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 12:48:16.97 ]
- >>58
ブレース消えるのいいよね
- 61 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:17:04.96 ]
- 我・乱無駄の名において命ず・消え去れ無礼衆!
- 62 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:26:12.22 ]
- // delegateが無い場合
hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 == ps;} }); hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 != ps;} }); hoge(new class Func : IFunc { void func(Parameter p1, Parameter p2) {return p1 < ps;} }); // delegateが使える場合 hoge((Parameter p1, Parameter p2) {return p1 == ps;}); hoge((Parameter p1, Parameter p2) {return p1 != ps;}); hoge((Parameter p1, Parameter p2) {return p1 < ps;}); // ラムダ式が使える場合 hoge((p1, p2) => p1 == ps); hoge((p1, p2) => p1 != ps); hoge((p1, p2) => p1 < ps); >>55 俺は大差があると思う
- 63 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:57:07.48 ]
- ヒント:ラムダで引数の型が省略できる場合には関数リテラルでも同じ書き方ができる
- 64 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 13:59:44.79 ]
- dlang.org/deprecate.html
今までdeprecated で生き延びていた機能の多くが 2.061で抹殺されていることに気づいた
- 65 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 14:27:09.51 ]
- 結局のところdelegateあるならラムダいらないんじゃね?と言う話
別にあって都合が悪いこともないから消せ!とは言わんけどw
- 66 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 14:50:42.78 ]
- ラムダは構文糖だからいらないと言われても困る
autoが消滅して型名を書けと言われたりscope(exit)が消滅してtry-finallyを書けと言われたりしたら俺はDを投げる
- 67 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 14:53:25.86 ]
- ラムダ要らない派とか今まで一人も出てきてないと思うけど
- 68 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 14:57:55.37 ]
- >>61
ダークフレイムマスター
- 69 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 19:38:44.30 ]
- complex型がいつ消えるかどきどきだわ・・・
- 70 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 19:59:21.59 ]
- 消えたらC99の複素数関数をABI互換性を保って呼ぶ方法が無くなるのか?
- 71 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 20:00:11.78 ]
- std.complexじゃダメなの?
- 72 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 20:06:07.70 ]
- C99のcomplexはFPUだかSSEだかのレジスタ渡しだろ?
ライブラリ定義はstructに詰めた状態だからスタック渡しになってしまわね?
- 73 名前:デフォルトの名無しさん mailto:sage [2013/01/27(日) 22:52:36.94 ]
- ライブラリ内でアセンブラで書いてあれば別にいいんじゃないの
あるいは何らかの最適化に通るのでもいいわけで ABI互換性は困りそうだが
- 74 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 06:15:55.98 ]
- D言語って、
int[100] a, b; a[] += b[]; で勝手にSIMD演算とかいうのやってくれるんですか?
- 75 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 07:13:31.71 ]
- >>74
www.kmonos.net/alang/d/simd.html 頑張ってくれる可能性はあるけどわりと限界もある、みたいな感じ
- 76 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 11:06:58.13 ]
- ターゲット環境を明示してなければ勝手にそういうコードを吐くわけ無い
環境を特定するなら素直に core.simdで定義されている配列もどきを使うべし
- 77 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 14:26:03.01 ]
- classのコンストラクタで定義した変数をメンバーにしちゃえる的な機能がほしいなぁ
多分害悪の元なんだろうけど class hoge { this() { int a = 0 as public; } } 見たいにしたらhoge.aが使えるみたいなね! thisが一個のとき限定でいいからさぁ・・・
- 78 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 19:16:36.49 ]
- >>77
どんな意図の機能? 頑張れば既存の機能でやりたいことが解決できるかも
- 79 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 19:44:42.31 ]
- 黒魔術ツールopDispatchがあるからなあ
ただコンストラクタで書くならメンバでいいだろという気がするが
- 80 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 19:52:33.02 ]
- 現在のスコープから参照できるすべてのシンボルを列挙する__traitsが欲しい
あとそのシンボルが変数なのかモジュールなのかクラスなのか構造体なのか判別するのもついでに欲しい
- 81 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 19:59:59.78 ]
- C++の特殊化でなら省力のために欲しいかな
mixin無ぇーし
- 82 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 20:02:09.25 ]
- 顧客が本当に必要だったもの:賢いIDE
- 83 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 20:17:53.73 ]
- IDEとか重いだけだよ!
- 84 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 21:31:09.49 ]
- DDTがeclipse4.2に入らないのが痛い
- 85 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 23:29:27.58 ]
- 軽いIDEには需要があるのか
- 86 名前:デフォルトの名無しさん mailto:sage [2013/01/28(月) 23:48:53.99 ]
- Sublime Textがそんな感じじゃない?
プロジェクト機能あるしD対応してるし
- 87 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 04:08:55.24 ]
- 言語仕様の追加まで対応出来る賢いIDEをだな
- 88 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 12:34:31.13 ]
- IDEの触手の一端がウォルたんの脳みそに取り付いているだと…!?
- 89 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 19:19:11.01 ]
- IDE(CUI)
- 90 名前:デフォルトの名無しさん mailto:sage [2013/01/29(火) 19:25:51.70 ]
- Integrated Drive Electronics
Integrated Development Environment エンビロンメント?
- 91 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/01/29(火) 23:58:06.70 ]
- >>90
エンヴァイロンメント。 電子辞書を買いましょうね。
- 92 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 00:21:20.93 ]
- マクロまだー?
- 93 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 00:21:34.89 ]
- カタカナ表記につっかかるのはナンセンスだと思うけど
- 94 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 00:34:25.28 ]
- カタカナ表記としてもエンヴァイロンメント、エンバイロンメント以外に存在しない
- 95 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 01:31:06.21 ]
- ディーゲンゴも大五郎も大して変わらんしな
- 96 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 04:13:06.10 ]
- インバイロンメントさんが泣いてる
- 97 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 04:32:45.97 ]
- わーにんぐ・わーにんぐ
- 98 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 12:23:27.28 ]
- エンベロープメント
モーリメメント ヤックデカルチュアメント
- 99 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 19:39:48.11 ]
- DPasteのコンパイラが止まってるじゃないかクソッタレー!
import std.stdio; void main() { // ポインタの配列 int i = 42; int*[1] src = [&i]; // スライスの代入 int*[1] dest = src[]; // srcとdestの内容が違う! (2.061以降) writeln(src, " == ", dest); } これが2.061の破壊的変更だったら欣喜雀躍するんだが…
- 100 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 20:08:25.15 ]
- >>99
githubの最新では直っているっぽい
- 101 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 20:17:56.79 ]
- >>100
おおっと、さすがにこういうのはすぐ発見されるんですね Thx
- 102 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 01:43:11.46 ]
- override attribute is deprecated
ってどうすりゃいいの?
- 103 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 01:46:40.11 ]
- ああ、withoutか
- 104 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 14:35:15.40 ]
- void f(void delegate(int) dg) {}
f((i) { ... }); で推論できるなら class C { this(int i){} } C obj; obj = new(10); とかもできそうだよね
- 105 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 18:53:52.42 ]
- 構造体ならそれでいいかも知れんけど
それでもやっぱりきもい
- 106 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:20:11.34 ]
- >>Error 42: Symbol Undefined _D6object9Exception6__ctorMFNaNbNfAyaAyakC6object9ThrowableZC9Exception (pure nothrow @safe Exception object.Exception.__ctor(immutable(char)[], immutable(char)[], uint, object.Throwable))
⇒pure nothrow @safe Exception object.Exception.__ctor(immutable(char)[], immutable(char)[], uint, object.Throwable) なんですかこれ・・・ あるし class Exception : Throwable { @safe pure nothrow this(string msg, string file = __FILE__, size_t line = __LINE__, Throwable next = null) { super(msg, file, line, next); } @safe pure nothrow this(string msg, Throwable next, string file = __FILE__, size_t line = __LINE__) { super(msg, file, line, next); } }
- 107 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 21:44:53.91 ]
- 2.061 に変えて自前のライブラリの再構築を忘れてたときに
そういうエラーを見た気がする
- 108 名前:デフォルトの名無しさん mailto:sage [2013/01/31(木) 22:01:57.58 ]
- >>107
VisualD使ってるんだけどそれ見てもしかしてと思ってエラーログ確認したら 使用するDMDが2.060のDMD環境指してた・・・ VisualStudioShell起動中に2.060と2.061をディレクトリリネームで切り替えた覚えがあるけど 勝手に設定まで追従しやがったのか・・・
- 109 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 12:39:50.73 ]
- そういえば昔ErrorとExceptionがあったような気がしたんだけど、なんで片方なくなってるの?
- 110 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 13:03:51.57 ]
- なくなってないよ
ぜんぜんちがうよ
- 111 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 14:07:22.40 ]
- あれ?ほんとだ・・
公式のobjectのドキュメントに載ってなかったから無くなったのかと
- 112 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 09:11:57.85 ]
- タプルリテラルってないの?
- 113 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 09:27:53.05 ]
- ない
- 114 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 11:58:43.31 ]
- 入るとしたらどんな構文になるんだろうな
Pythonみたいにしたらえらいことになりそうだけど
- 115 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 19:04:01.41 ]
- DDTでライブラリパスの追加とかlibファイルの追加ってどこでやるん?
- 116 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:09:34.98 ]
- タプル構文か・・・fortranの配列を採用しようじゃないか (/ a, b /)
- 117 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:19:05.80 ]
- (|a, b|)
(>a, b<) (*a, b*) (a, b) (!a, b!) {|a, b|}
- 118 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:44:37.48 ]
- ここでついに<a, b>の出番が
- 119 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:46:42.75 ]
- そういえばしばらく前の話だけど、タプルリテラルを
(a, b)みたいに書きたいからコンマ演算子廃止しようぜ、 という話がMLに出てたな。
- 120 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:58:14.18 ]
- コンマ演算子って実際、使われてるの? Dに限らずCとかでも
- 121 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 21:59:28.92 ]
- ラムダ式と組み合わせて使います
- 122 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:01:33.27 ]
- マクロで時々見る。#define f(x) (sideeffect(x), x + 1) とか。書いたやつ死ねとしか思わんが
- 123 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:05:53.34 ]
- for文の括弧内の各部に文を複数突っ込むときに使う気がする
- 124 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:10:38.72 ]
- for (i = 0, j = 0; i < x && j < y; i++, j++)
みたいな
- 125 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:10:59.88 ]
- forで複数突っ込みたいのは最後のとこだけだろうから、
++i, ++jの値がjではなく(i, j)のタプルになっても影響ないな
- 126 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:23:24.90 ]
- forの最後でたまに使うから無くなると困る
他にも while ((x = foo()) == y) { } を while (x = foo(), x == y) { } と書く事もなくもない
- 127 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:26:35.51 ]
- (x = foo(), x == y)の値がx == yではなく、(x, x == y)のタプルになって空ではないってことで無限ループしても
まあ影響ないな
- 128 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 22:57:20.76 ]
- なんか人いるみたいだし、ちょっとスレに張り付いてみる。
いまのDでこれが気になる、とかある?
- 129 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:11:33.70 ]
- 構造体がテンプレートなら、内部の普通のメンバ関数も@safe pure nothrowを推論して欲しい。
void foo()(){...}ならできるけど
- 130 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:18:34.88 ]
- >>129
あー、Jonathanが欲しいといってたやつか。std.rangeとかでいろいろ苦労しているから 実験パッチは作って試してみる予定。ただ、Fwdref問題がいっぱい出てくるかもしれないから 対応するかは半々だなあ。
- 131 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:20:11.83 ]
- ちなみに、現状は「テンプレートの直下の関数」のみ推論が行われる。
void foo()() { ... } は template foo() { void foo() { ... } } の構文糖なので推論が効く、という仕組みになっている。
- 132 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:22:47.25 ]
- 個人的に連想配列の使い勝手が悪い
~で連結したいしmapとかで回したい
- 133 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:30:05.36 ]
- >>132
~での連結はコンパイラ対応の範疇だな。 2つの結合したい連想配列に重複するキーがあるときどういう動作をすべきか、 という所が決まらないと駄目だと思う。 mapでまわすのはPhobosの範疇。しばらく前にそれっぽい話題がMLで出てた気が するけど、特に話は進まずに終わったと思う… そういう挙動を実現すること自体に問題はなさそうなので、enhanceをbugzillaに 投稿したら興味ある人が対応してくれるんじゃないかな。
- 134 名前:デフォルトの名無しさん mailto:sage [2013/02/02(土) 23:38:09.82 ]
- 自分は最近コンパイラにかかりっきりなので、正直Phobosまで手を入れる余裕が無い。
他の人のPullReqをレビューするぐらいが精一杯です。
- 135 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 00:07:51.37 ]
- rvalue refってどうなってるの?
- 136 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 00:23:47.64 ]
- >>135
まだセマンティクスがはっきりしていない。現在テンプレート関数で使える auto refは、厳密には右辺値参照とは違うものなので、これをそのまま 非テンプレート関数にもってくることは出来ない(構文的にも意味論的にも) Andreiが d.puremagic.com/issues/show_bug.cgi?id=9238 で Dにおける右辺値をrefで束縛した場合の挙動についてある程度書いてくれている。 興味深いのは、DはC++と違って参照型の変数が存在せず、関数の仮引数と戻り値 にのみrefが出現するため、右辺値を関数引数のrefで束縛しても「本質的には」 問題ない、という所かな。 とはいえ、実際には@systemな関数の内部で、ref引数からアドレスを取って グローバル変数に束縛するなどのエスケープ問題が絡んでくるので、セマンティクスを もっと詰めないと実装できない、というのが俺個人の現状認識。 結論:近いうちに状況が動く可能性は低い
- 137 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 00:30:46.53 ]
- そろそろ抜けます。このスレは時々覗いているので
面白そうな質問あったらそれなりに答えるつもりです。では。
- 138 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 00:49:20.05 ]
- 乙
- 139 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 01:47:49.82 ]
- 連想配列にclear()なりremoveAll()なりが無いのはもはや意味不明なレベル
- 140 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 01:59:45.45 ]
- いや clear あるっしょ・・・あれ、どこに書いてあったっけ?
- 141 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 02:15:36.29 ]
- dupも欲しいな
- 142 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 02:23:16.25 ]
- >>140
object.destroyのaliasでclearがあるけどこれ呼ばれてるんじゃね? >>141 dup使えたぞ ドキュメント無さそうだがww
- 143 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 02:39:50.10 ]
- マジダclearできた
替わりにこうしてた・・・ typeof(h) tmp; tmp.swap(h); で、h.dup.swap(h);がコンパイル通らなくて泣いてた
- 144 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 02:41:09.83 ]
- あれ?よく考えたらh.dup.swap(h);意味ないじゃん。何やってんだ俺
- 145 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 11:40:10.23 ]
- >>140-142
い、一体いつから… ヒャアやっぱDはたまんねぇな!
- 146 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 11:49:37.17 ]
- dupはあるんだった
何かと勘違いしたわ
- 147 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 16:28:43.01 ]
- ポトペタなRAD今作ってるからGUI厨はちょっと待ってろ
- 148 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 16:38:16.81 ]
- ♪〜(・ε・。)ヒューー
boost licで頼む
- 149 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 16:40:58.13 ]
- ポトペタとかは比較的どうでもいいんだ
まともに保守されてるだけでもぶっちぎりに優れたライブラリになれる
- 150 名前:デフォルトの名無しさん mailto:sage [2013/02/03(日) 18:32:28.27 ]
- 逆に考えるんだ
唯一まともに保守されているから 公式のライブラリとして存在できていると考えるんだ
- 151 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 13:23:14.36 ]
- UDAってCTFEした値も取ってこれるのか
無茶しやがって
- 152 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 13:36:21.90 ]
- シンボルが欲しくなるな
- 153 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 23:48:43.40 ]
- templateは要素がひとつで同名って条件でtemplate名称を省略できるって
公式のどこかで見た記憶があるんだけど下の例でクラスのAをtemplate名称なしで 使えちゃうのは合法? template A(T){ class A{} T s; ←A.Aとしてclassを参照するために邪魔になると思われるもの } ※ auto x = new A!(int).A(); ではなく auto x = new A!(int)(); として使用できてしまう。
- 154 名前:前々スレ(Part29)より mailto:sage [2013/02/05(火) 23:57:39.76 ]
- 143 :営利利用に関するLR審議中@詳細は自治スレへ : 2012/04/08(日) 17:55:55.18
>>140-141 メンバ一つに限るっていう条件は 2.058 で外れたとかどこかで見たような Eponymous Template っていうらしい
- 155 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 00:06:06.75 ]
- Change Log見てもそれっぽいこと書いてないから怖いな・・
ありがとん
- 156 名前:デフォルトの名無しさん [2013/02/08(金) 01:45:26.22 ]
- Templateパラメータで渡された型のクラスインスタンスをalias thisする方法あります?
struct S(T){ T t; alias t this; } T型が同じファイルに定義されている場合はコンパイル通るけど 別ファイルの場合Tのメンバを呼ぶコードがundefined identifierとなりました
- 157 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 02:22:51.53 ]
- Dで作ったDLLをFreeLibraryするとホスト側が止まる(というか処理が戻ってこない)んですけど・・・
- 158 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 10:53:08.11 ]
- >>156
通ると思うけど… リンク漏れの Symbol Undefined じゃなくて?
- 159 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 18:30:45.33 ]
- >>157
ソース無いからどうしようもないけど 静的呼び出ししたらどうなるよ?
- 160 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 19:34:02.45 ]
- >>159
今やってみました。静的リンクだと問題なく呼び出せました。 目的は実行時に激しくDLLのロード/アンロードをすることなのでLoadLibrary/FreeLibraryが必要だと思ってます。 DLL側、使用側のソースです→dpaste.dzfl.pl/b47c098b 試しにDMDで作ったものでない(たとえば、SDLの)DLLを読み込ませてみましたが、そっちでは問題なくLoad/Freeできました なんかDLLの作り方間違えてるのかな・・
- 161 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 21:44:06.14 ]
- >>160
横レス なぜか最後のwriteln の中で死んでるっぽい # デバッガが使えればみんな悲しまずに済むのに・・・! 試しにメッセージボックスに変えてみたらイケた import core.sys.windows.windows; MessageBoxA(null, "4 end".ptr, "message".ptr, 0);
- 162 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:15:23.76 ]
- core.runtimeのloadLibrary/unloadlibraryを呼んだらどうなる?
なんかGC関係の追加処理してそうだけど
- 163 名前:デフォルトの名無しさん [2013/02/08(金) 22:22:33.15 ]
- 呼び出し規約
- 164 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:31:37.13 ]
- >>163 よく読め
>>160はDLL内の関数を呼んではいないぞ
- 165 名前:デフォルトの名無しさん [2013/02/08(金) 22:40:40.32 ]
- >>164
落ちる場所のアセンブリよく読め スタック巻き戻してretするとこで落ちてる DLL内の関数の呼び出し規約とは言ってない
- 166 名前:160 mailto:sage [2013/02/08(金) 23:27:18.56 ]
- 呼び出し規約と聞いてよくわからないままいろいろ試しました。
alias extern(D) void* function(in char*) LoadLibrary_t; alias extern(D) uint function(void*) FreeLibrary_t; void main() { writeln("1 load"); auto p = (cast(LoadLibrary_t)&LoadLibraryA)("plugin.dll"); writeln("2 ", (p is null) ? "error" : "ok"); writeln("3 free"); (cast(FreeLibrary_t)&FreeLibrary)(p); writeln("4 end"); } なんかこんな利用側コードで結局エラーが出なくなりました。 なんでDの呼び出し規約で正しい動きをするのか まったくわけわかんないんですがこれでいいんでしょうか・・・
- 167 名前:160 mailto:sage [2013/02/08(金) 23:38:46.24 ]
- 動いたように見えただけでなんも動いてなかった・・・適当なこと書いてごめんなさい
- 168 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:09:10.44 ]
- d.puremagic.com/issues/show_bug.cgi?id=1550
D DLLs close standard input/output streams when unloading
- 169 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:30:31.25 ]
- 2007-10-07
(´・ω・`)
- 170 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:33:55.29 ]
- マジか。つまりDMDのDLL作成機能に実用性なし!
通りでD言語で作られたライブラリが一切DLL化されないわけだぜ
- 171 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:47:09.49 ]
- なあ、手元で>>160を動かしたら、何の問題もなく動いたんだが……
- 172 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:47:13.47 ]
- いや
- 173 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 00:57:20.66 ]
- マジマジ。ちゃんと全部出る。一行も変更してない。
1 load 2 ok 3 free 4 end
- 174 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 01:10:41.83 ]
- kankyouwo
- 175 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 01:11:38.05 ]
- xp
- 176 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 01:18:43.24 ]
- 7 dame
- 177 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 08:12:52.75 ]
- mamamajika
- 178 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 16:31:15.36 ]
- >>156のわかった
alias thisするメンバがprivateだとundefined identifierになるぽい これって動作としては正しい? privateにしないと外からalias this対象がメンバとして触れちゃうから問題な気が・・ ideone.com/kVVl02
- 179 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:03:54.30 ]
- >>178
逆に private な alias this はどんな動作になるべきだと考えてるの?
- 180 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:28:02.48 ]
- >>178
エスパーだが、こういうことがしたいのではないか struct S { private: T x; public: @property T getX() { return x; } alias getX this; }
- 181 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:44:02.76 ]
- >>180
YES!
- 182 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 22:29:44.30 ]
- あれ、clear って deprecated になってるじゃん
destroy の方が新しいのか 逆だと思ってたわ
- 183 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 23:08:46.70 ]
- デデデデストローイ
- 184 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 23:22:19.46 ]
- これって破壊的変更なんですかね
- 185 名前:デフォルトの名無しさん mailto:sage [2013/02/12(火) 13:42:22.61 ]
- >>171
もしかしてDMD以外のコンパイラを使ってないか?
- 186 名前:デフォルトの名無しさん mailto:sage [2013/02/12(火) 14:05:39.37 ]
- >>185
俺もxpでdmdだが問題出ない load〜freeを100回ループさせても正常
- 187 名前:デフォルトの名無しさん mailto:sage [2013/02/12(火) 14:22:30.57 ]
- 未だに修正されない理由はこれか!
- 188 名前:デフォルトの名無しさん mailto:sage [2013/02/12(火) 14:39:03.09 ]
- >>168にある回避策を試すといいかも
副作用出るかは知らないが
- 189 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 19:38:22.65 ]
- 確かに Win7/64 だと >>168に引っかかってるぽいけど
同じバイナリが WinXP/32 だと普通に動くな
- 190 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 02:52:24.19 ]
- 同一の領域を指すレンジの距離ってどうにか簡単に得られませんか?
- 191 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 20:19:41.44 ]
- 1.まず説明する能力を鍛えます
- 192 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 20:25:52.02 ]
- auto range1 = [0, 1, 2, 3];
auto range2 = range1.find(2); assert(distance(range1, range2) == 2); のdistanceみたいな関数ないですか?
- 193 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 20:53:18.04 ]
- import std.algorithm;
range1.countUntil(range2);
- 194 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 20:56:53.49 ]
- 間違えた
auto range1 = [0, 1, 2, 3]; auto range2 = range1.find(2); auto range3 = range1.find(3); assert(distance(range2, range3) == 1); こっちのほうです。
- 195 名前:デフォルトの名無しさん mailto:sage [2013/02/15(金) 21:01:53.65 ]
- indexOfで場所を取得して差の絶対値を取れば?
- 196 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 08:23:22.80 ]
- ややこしい型名のメンバーをautoで書きたい(;;.;;)
- 197 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 10:42:54.48 ]
- つ (T)
- 198 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 11:59:49.24 ]
- つalias
- 199 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 18:11:00.11 ]
- optlink のソースが公開されてるっぽい
アセンブリ 70% とか書いてあるのを見て俺はおまいらに託すことに決めたぜ https://github.com/DigitalMars/optlink
- 200 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 20:46:00.37 ]
- たまに実行時定数がほしい
- 201 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 12:30:12.77 ]
- github ソースから最新を取ってきたら
alias INT = int; の構文がさっそく死んだ…?
- 202 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 14:29:36.52 ]
- wiki.dlang.org
公式wikiがいい感じに作られている 次スレのテンプレに入れておこう
- 203 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:15:17.15 ]
- 2.062
- 204 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:26:51.04 ]
- >>201
2.062 では消されていないようだ てかgithubのブランチが分かれてよくわからなくなってるんだが
- 205 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 20:35:50.72 ]
- The D Programming Language Conference 2013
dconf.org/
- 206 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 22:38:15.93 ]
- >>204
masterが最新だと思っていたら 2.062 よりはるかに古かったぜ…
- 207 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 22:49:24.28 ]
- gitつかいにくw
- 208 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:29:35.25 ]
- opAssignが使えなくなった…
代替法あるん? class C{ C opAssign(C c){ return this; } } void main(){ C c = new C; C d; d = c; } Error: class temp.C identity assignment operator overload is illegal
- 209 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:52:55.23 ]
- 同じ型のopAssignはもともと使えんぞ
- 210 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 00:07:59.38 ]
- まじっか
今までコンパイル通ってたから気付かなかった じゃあみんなディープコピーしたい場合どうしてるん
- 211 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 00:26:29.64 ]
- ポリモが不要なら struct
必要なら mixinとか alias thisで誤魔化す
- 212 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 00:33:26.34 ]
- ウソです
ほんとは cloneとかdeepCopy とかいう関数を地道に呼んでます
- 213 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 01:21:16.89 ]
- そ、そう…がんばる
- 214 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 19:40:03.01 ]
- 関数の引数の型で「.lengthが定義されている配列であればなんでも」という記法ってありましたっけ
- 215 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 21:24:53.37 ]
- static if (is(typeof(T.init.length)))
とかそういうこと?
- 216 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 00:16:31.82 ]
- >>208
classは参照型のセマンティクスを持っているので、自身と同じ型を取るopAssignは定義できない。 一方structは値型のセマンティクスなので、自身と同じ型を取るopAssignでも定義可能。
- 217 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 00:22:32.50 ]
- >>153
>templateは要素がひとつで同名って条件でtemplate名称を省略できるって >公式のどこかで見た記憶があるんだけど下の例でクラスのAをtemplate名称なしで >使えちゃうのは合法? > >template A(T){ > class A{} > T s; ←A.Aとしてclassを参照するために邪魔になると思われるもの >} この用法は合法(TDPLに上の様な場合「メンバsはテンプレートAの外側からは アクセスできなくなる」と書かれている)。またstd.traitsのテンプレートの多くは この仕組みを使って細かい実装用のテンプレートを内側に隠している。
- 218 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 00:57:28.94 ]
- ありがとうメーン
- 219 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 15:03:21.31 ]
- githubから最新ソース使ってる人どれくらいいるかな
・新機能はいらないけどバグ修正はほしい -> staging ・PullRequestを出したい -> master を取得して staging/master/hogeFeatureのどれかへ ・最新機能を試したい -> master を取得して hogeFeatureを各自でマージ こういう認識で合ってる? masterとstaging のどちらが新しいと一概に言えないっぽいところが悩ましい wiki.dlang.org/Development_and_Release_Process 誰か訳してくれないかな〜(チラッ
- 220 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 19:25:56.86 ]
- >>214
「arr.lengthとarr[i]が定義されてるようなもの」ってことなら、 std.rangeのhasLengthとisRandomAccessRange使えばいいよ
- 221 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 23:33:05.73 ]
- > wiki.dlang.org/Development_and_Release_Process
残念だけど、今のところそこに書かれていることは 「こういうプロセスで開発したら良いんじゃない?」程度で 実際にそれに則って開発がされているわけではない。 stagingブランチは2.060のReleaseから作られているが、現状では 「ベータ版が出てる最中に、Release用のRegression fixとかを masterとは別に積み上げるためのブランチ」程度の意味しかない。
- 222 名前:デフォルトの名無しさん mailto:sage [2013/02/20(水) 23:36:28.91 ]
- >>220
ありがとうございます。
- 223 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 13:16:57.80 ]
- >>221
そうか。ありがとう
- 224 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 13:08:56.76 ]
- 2/22 に 222get
ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
- 225 名前:デフォルトの名無しさん mailto:sage [2013/02/22(金) 18:49:57.59 ]
- 惜しい・・・。君は実に惜しい逸材だったよ。
- 226 名前:デフォルトの名無しさん [2013/02/22(金) 19:04:12.44 ]
- もうすぐ22:22ですね
- 227 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 00:07:53.66 ]
- >>130
>>>129 >実験パッチは作って試してみる予定。ただ、Fwdref問題がいっぱい出てくるかもしれないから >対応するかは半々だなあ。 PullReq出して、マージされました。 https://github.com/D-Programming-Language/dmd/pull/1676 大きな問題が出なければ、2.063で使えるようになると思います。
- 228 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 00:40:11.25 ]
- 2/22 22:22 に 222get
ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
- 229 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 00:40:36.58 ]
- >>227
うおおお! ありがとうございます!
- 230 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 00:47:00.25 ]
- >>228
localeおかしいぞ
- 231 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 07:28:58.42 ]
- >227
すげえええ 内部でrange関数使ってるからnothrowなのにnothrowじゃない日々ともおさらばだ!
- 232 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 14:16:00.62 ]
- 隠していても俺がウスノロだってバレてしまうのかよッ
- 233 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 19:12:31.79 ]
- not ウスノロ
you're ウスベニウンコ
- 234 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/02/24(日) 00:07:31.36 ]
- COBOLからD言語への変換って面白そうだね
- 235 名前:デフォルトの名無しさん mailto:sage [2013/02/24(日) 00:13:17.53 ]
- 実用性ゼロの最悪の選択だ
- 236 名前:デフォルトの名無しさん mailto:sage [2013/02/24(日) 03:46:42.64 ]
- rubyをDに変換して、さらにJavaで動くように変換したら凄いことになりそう
- 237 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 15:51:16.98 ]
- >>235
バカタ山に構うな
- 238 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 16:46:43.58 ]
- 遠隔操作で片山が逮捕されたと聞いたとき、最初に思い浮かんだ片山は(ry
- 239 名前:デフォルトの名無しさん [2013/02/25(月) 17:58:44.93 ]
- 遠隔操作で片山が逮捕されたと聞いたとき、最初に思い浮かんだ片山は(ry
- 240 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 18:44:21.72 ]
- なぜDじゃなくてC#なんて比較的ショボい言語を使ったんだ
- 241 名前:デフォルトの名無しさん mailto:sage [2013/02/28(木) 17:44:20.81 ]
- Dを使った方はまだ極秘で捜査を進めている段階で情報を出すことが出来ない
- 242 名前:デフォルトの名無しさん mailto:sage [2013/02/28(木) 19:28:26.70 ]
- でもC#のref/outとかプロパティとかはたまに欲しくなるんだ
|

|