D言語 Part26
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/12/28(火) 10:49:05■前スレ
http://hibari.2ch.net/test/read.cgi/tech/1281826764/
■本家
ttp://www.digitalmars.com/d/
ttp://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)
■参考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/candcpp2d2 (C/C++に疲れた人のD言語2.0)
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)
ttp://dusers.dip.jp (D言語友の会)
ttp://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
0412デフォルトの名無しさん
2011/03/05(土) 13:39:22.72こっちは学校のトイレでタバコ吸ってるDQN達か。
噛み付くぞてめぇ!って粋がってるイメージ
0413デフォルトの名無しさん
2011/03/05(土) 14:25:07.68Dのプロジェクトなんて無数にあるぜ!
でも心の綺麗な人にしか見えないんだ
0414デフォルトの名無しさん
2011/03/05(土) 14:35:04.700415デフォルトの名無しさん
2011/03/05(土) 15:53:42.34空に瞬いている星と地に墜ちた星を見分けられる
ようになりたい
0416デフォルトの名無しさん
2011/03/05(土) 16:10:17.11コンパイルエラーが出ない
const関係で詰んだりしない
unittestが意味不明な理由で失敗しない
循環static thisで落ちたりしない
どこからともなくHiddenFuncErrorが投げられたりしない
よくわからない箇所でアクセス違反が発生したりしない
虚しい…
0417デフォルトの名無しさん
2011/03/05(土) 16:39:15.030418デフォルトの名無しさん
2011/03/05(土) 16:47:57.970419デフォルトの名無しさん
2011/03/05(土) 16:53:22.990420デフォルトの名無しさん
2011/03/05(土) 17:02:55.720421デフォルトの名無しさん
2011/03/05(土) 17:32:44.810422デフォルトの名無しさん
2011/03/05(土) 17:34:11.47VisualDはutf-8で保存してくれるようになったんかな。
0423デフォルトの名無しさん
2011/03/05(土) 18:32:53.980424デフォルトの名無しさん
2011/03/05(土) 18:40:03.66画像付きで解説してるところないですか?
あるいは誰か解説をしてもらえると幸いです。
0425デフォルトの名無しさん
2011/03/05(土) 18:47:06.850426デフォルトの名無しさん
2011/03/05(土) 18:59:34.66Dの1_234.56みたいな数値定数とr""を認識してくれる設定ファイルが欲しい・・・
0427デフォルトの名無しさん
2011/03/05(土) 19:07:17.03VS2003〜2010のどれかをインストールしてる状態でVisualDをインストールしてDMDのフォルダを指定するだけじゃん
VS立ち上がったままでやったら駄目だぞ?
0428デフォルトの名無しさん
2011/03/05(土) 19:15:14.70`\"`とかやると変になるよな
正規表現キーワードとかで何とかなるのかしらん
0429デフォルトの名無しさん
2011/03/05(土) 19:18:51.42うまく機能してるか不安だけど
/(?<!\w)0[xX][\da-fA-F_]*(\.[\da-fA-F_]+)?([pP][\+\-]?[\d_]+)?[fFL]?i?(?!\w)/k
/(?<!\w)([\d_]+\.([\d_]+)?|([\d_]+)?\.[\d_]+)([eE][\+\-]?[\d_]+)?[fFL]?i?(?!\w)/k
/(?<!\w)([1-9][0-9_]*|0[bB][01_]+|0[xX][0-9A-Fa-f_]+|0[0-7_]*)(L|u|U|Lu|LU|uL|UL)?(?!\w)/k
/(`[^`]*`|(?<!\w)r"[^"]*"|(?<!\w)q"[^"]*")[cwd]?/k
0430デフォルトの名無しさん
2011/03/05(土) 19:32:19.31/((?<!\w)x"[\s0-9A-Fa-f]*"|(?<!r)"([^"\\\r\n]|\\.)*?")[cwd]?/k
/'[^']+'/k
標準機能の""と''の色付けは無効にして、全部正規表現キーワードでやってる
0431デフォルトの名無しさん
2011/03/05(土) 19:32:30.51GJ
0432デフォルトの名無しさん
2011/03/05(土) 20:37:02.750433デフォルトの名無しさん
2011/03/05(土) 21:48:46.230434デフォルトの名無しさん
2011/03/05(土) 21:59:52.220435デフォルトの名無しさん
2011/03/05(土) 22:23:57.230436デフォルトの名無しさん
2011/03/05(土) 22:27:40.81class Test
{
@property
void delegate() func()
{
return _func;
}
private void delegate() _func;
}
がコンパイル通らなくてびっくりした。
void delegate() @propertyっていう型に認識されてるっぽいんだが、そんなものあるのか?
まぁ今後はvoid delegate() func() @propertyって後置しようと思ってるから良いんだけど…
0437デフォルトの名無しさん
2011/03/05(土) 22:42:55.960438デフォルトの名無しさん
2011/03/05(土) 22:54:55.62@property ってアノテーションと同じ感覚で書きたくなるよなあ
0439デフォルトの名無しさん
2011/03/05(土) 23:06:13.31これ以上@に変な意味与えるのやめて
0440デフォルトの名無しさん
2011/03/05(土) 23:17:33.18プロパティってすぐ分からないから1行に書きたくなる俺は異端?
0441デフォルトの名無しさん
2011/03/06(日) 06:26:20.240442デフォルトの名無しさん
2011/03/06(日) 18:58:03.40文字コードの話ならエディタでDのソースコードを開いている状態で
VSのファイルメニュー→「保存オプションの詳細設定」で変えられるぞ
ソリューションエクスプローラで.dファイルを選択しているだけだと出てこないのが罠
0443デフォルトの名無しさん
2011/03/06(日) 20:54:45.48VisualDがutf-8で保存してくれない……。
129 名前:デフォルトの名無しさん[sage] 投稿日:2010/09/14(火) 11:32:49
日本語が使えなくなるだけだと思えば許せる。
VisualDはVS2010のデバッガが使えるってだけで最高だけど、やっぱりインテリセンスがなぁ。
130 名前:デフォルトの名無しさん[sage] 投稿日:2010/09/14(火) 17:42:21
ファイル→保存オプションの詳細設定でUTF-8に変えてくれる
デフォでUTF-8にして欲しいけどな
131 名前:デフォルトの名無しさん[sage] 投稿日:2010/09/15(水) 00:58:23
簡単に解決できそうな気がするけど。問題として認識されてないんだろうなあ。
132 名前:デフォルトの名無しさん[sage] 投稿日:2010/09/15(水) 01:00:25
いつものパターンか
0444デフォルトの名無しさん
2011/03/06(日) 21:02:38.90VSの仕様って良く分からんけど、アドオン側からデフォルトの保存コードを変更できるもんなの?
VS本体でも変えられないのに
0445デフォルトの名無しさん
2011/03/06(日) 21:29:46.06保存オプションからコードは変えられるんだろ?
新規作成かなんかの時にアドオンからutf8にしてくれるなら、
別にVSの「デフォルトの保存コード」を変更する必要はなくね?
いや、そういうことができるのかはわからんし、結論としてはよくわからんが。
0446デフォルトの名無しさん
2011/03/06(日) 21:32:29.56Visual D の新規ファイルのテンプレートに
突っ込んでやればいいんじゃないかな
0447デフォルトの名無しさん
2011/03/07(月) 05:55:31.67なんか、前はなぜまともにいかなかったのかわからないほどあっさりでけたw
これ、メソッドのインテリセンスはなし?
0448デフォルトの名無しさん
2011/03/07(月) 10:50:50.270449デフォルトの名無しさん
2011/03/07(月) 14:11:28.12標準出力に出ると気づかずに時間を無駄にした・・・統一して orz
コンパイラ →エラー出力
インラインアセンブラ→標準出力
リンカ →標準出力
0450デフォルトの名無しさん
2011/03/07(月) 20:17:26.02どこを直せばいいことやら…
0451デフォルトの名無しさん
2011/03/07(月) 20:56:17.87dmd
0452デフォルトの名無しさん
2011/03/07(月) 21:52:38.890453デフォルトの名無しさん
2011/03/07(月) 22:38:49.620454デフォルトの名無しさん
2011/03/07(月) 22:59:08.750455デフォルトの名無しさん
2011/03/08(火) 02:37:21.810456デフォルトの名無しさん
2011/03/08(火) 06:09:17.480457デフォルトの名無しさん
2011/03/08(火) 23:52:27.110458デフォルトの名無しさん
2011/03/09(水) 00:04:09.010459デフォルトの名無しさん
2011/03/09(水) 00:08:55.700460デフォルトの名無しさん
2011/03/09(水) 00:10:34.660461デフォルトの名無しさん
2011/03/09(水) 01:08:10.12クラスは参照だっていうから、C++ のように & してたけどうまくいかなんだ。
emplace のソース見てはじめて知ったけど、常識?
0462デフォルトの名無しさん
2011/03/09(水) 01:09:21.340463デフォルトの名無しさん
2011/03/09(水) 01:15:08.22むしろ言わないほうがいいと思うぞ。
普通の会社はプログラミング言語といえばC系とJavaとC#とPHPぐらいしか選択肢がない。
0464デフォルトの名無しさん
2011/03/09(水) 13:40:29.21これは誰か翻訳手伝ってくれということだな・・・
0465デフォルトの名無しさん
2011/03/09(水) 19:25:49.64つまり手伝ってあげて
0466デフォルトの名無しさん
2011/03/09(水) 23:13:25.42alias this すれば近い感じで使えるのね。便利便利。
0467デフォルトの名無しさん
2011/03/10(木) 10:58:53.050468デフォルトの名無しさん
2011/03/10(木) 13:59:19.02そういう既存のものに自分機能をつけたいことはあるかもしれない。
0469デフォルトの名無しさん
2011/03/10(木) 19:49:49.59Variant使えばいいのか?
0470デフォルトの名無しさん
2011/03/10(木) 20:04:22.60http://www.kmonos.net/alang/d/2.0/phobos/std_typecons.htmlのstruct Tupleのとこ
使えるのか?
0471デフォルトの名無しさん
2011/03/10(木) 20:34:30.390472デフォルトの名無しさん
2011/03/11(金) 10:58:32.61継承
タプル
variant型
お好きなのをどうぞ。
0473デフォルトの名無しさん
2011/03/11(金) 11:54:04.50タプル→型の順番はコンパイル時に決まる。その場で定義できる構造体に等しい。
variant→実行時に何でも入るが、実行時処理が増えるのと、値取り出しの型に関する処理が面倒。
って感じか。
0474デフォルトの名無しさん
2011/03/11(金) 12:15:18.10共用体
void*型
0475デフォルトの名無しさん
2011/03/11(金) 12:46:56.800476デフォルトの名無しさん
2011/03/11(金) 12:52:01.96ローカルシンボルをすべて日本語で記述して
漢字かな混じり文の伝統を継ぐガラパゴス文化を創造するのだ
なに、全角英数が使えないだと・・・?
0477デフォルトの名無しさん
2011/03/11(金) 13:02:08.85言い出しっぺの法則。
0478デフォルトの名無しさん
2011/03/11(金) 18:51:07.71なんでだろ。
ちなみに今使おうとするとコンパイラが落ちた気がする。
>>476
前お遊びでやってみたんだけど、いちいち日本語に切り替えるのが
めんどくさくてやめてしまった・・・。
全てを全角でかけないときついね。
地震怖かったー・・・!
0479デフォルトの名無しさん
2011/03/11(金) 21:22:07.39コンパイル時型情報を生かした高速なやつ
0480デフォルトの名無しさん
2011/03/11(金) 21:27:43.79中の人は神回避したらしい
0481デフォルトの名無しさん
2011/03/12(土) 00:59:02.790482デフォルトの名無しさん
2011/03/12(土) 01:41:34.72どのくらい関わっている人かよく知らんけど
0483デフォルトの名無しさん
2011/03/12(土) 14:06:38.74ううむ、これは困ったぞw
0484デフォルトの名無しさん
2011/03/12(土) 20:09:50.07その配列をdupでコピーすると配列のメンバに変更を加えることができる
理屈としては問題ないんだろうけどなんか気持ち悪いなぁ…
0485デフォルトの名無しさん
2011/03/12(土) 20:13:29.13変更したくないなら dup を const で受け取ったりすればいいのかな?
0486デフォルトの名無しさん
2011/03/12(土) 20:34:48.92>>484 は配列の要素がクラスの時じゃないか?
ttp://ideone.com/epioS
たしかにこれは気持ち悪いな
0487デフォルトの名無しさん
2011/03/12(土) 21:11:29.93なるほど、クラスか・・・。
これは気持ち悪い。
0488デフォルトの名無しさん
2011/03/12(土) 21:32:09.280489デフォルトの名無しさん
2011/03/12(土) 22:29:09.44本当は[]const(T)になってほしい、と。
0490デフォルトの名無しさん
2011/03/12(土) 22:29:32.020491デフォルトの名無しさん
2011/03/12(土) 22:55:45.12const(void)*にあたるものがない
0492デフォルトの名無しさん
2011/03/13(日) 00:53:53.49http://ideone.com/hwZln
http://ideone.com/INckh
これを見る限りだと、単純にdupのバグっぽいな。
0493デフォルトの名無しさん
2011/03/13(日) 06:26:28.93パッチ上げられてたぞ
完全に直ってるのかしらんけど
0494デフォルトの名無しさん
2011/03/13(日) 12:33:06.67細かくやりすぎると>>409みたいに想定漏れを招く
どうせテンプレート内でエラーになるんだから通してしまえばいい
0496デフォルトの名無しさん
2011/03/13(日) 15:11:09.55これ、まさにコンセプトでも懸念されてたことなんじゃないか
0497デフォルトの名無しさん
2011/03/13(日) 15:56:47.22Constraint のシンタックスハイライトに対応するIDEは登場するのかなー?
0498デフォルトの名無しさん
2011/03/13(日) 18:17:04.16&&を使った今の状況だとどの条件に引っかかったかが長々と表示されてすげー分かりにくい
0499デフォルトの名無しさん
2011/03/13(日) 19:39:02.330500デフォルトの名無しさん
2011/03/13(日) 20:13:11.61というと、どうかく?
0501デフォルトの名無しさん
2011/03/13(日) 20:22:39.33std.container.SList.thisで例えれば、
this(Stuff)(Stuff stuff)
if (isInputRange!Stuff
&& isImplicitlyConvertible!(ElementType!Stuff, T)
&& !is(Stuff == T[]))
{
これを、
this(Stuff)(Stuff stuff)
if (isInputRange!Stuff)
if (isImplicitlyConvertible!(ElementType!Stuff, T)
if (!is(Stuff == T[])
{
こう書いて、引っかかったifを示してくれればいいなあとか思う
0502デフォルトの名無しさん
2011/03/13(日) 20:35:55.68いいかも
0503デフォルトの名無しさん
2011/03/13(日) 20:47:43.33ubyte[] r = p[0..n];したときのrってスタック上に確保されないで
ヒープ上でnewされてRangeかなんかのインスタンスになっちゃいます?
0504デフォルトの名無しさん
2011/03/13(日) 21:39:08.41r ~= 0; などすればコピーされるけど
0505デフォルトの名無しさん
2011/03/13(日) 22:20:08.61rの持ってる情報ってpへのポインタとlengthくらいだと思うんですけど
これはスタック上かGC管理のヒープ上のどちらに確保されるんでしょうか
0506デフォルトの名無しさん
2011/03/13(日) 22:33:36.370507デフォルトの名無しさん
2011/03/13(日) 22:51:20.65ありがとうございます
0508デフォルトの名無しさん
2011/03/13(日) 22:53:34.340509デフォルトの名無しさん
2011/03/13(日) 23:00:33.68union{
wchar[] dstring;
DStringW filename; // 配列ヘッダの構造体
}
struct DStringW{
uint length;
wchar* pointer;
}
0510デフォルトの名無しさん
2011/03/13(日) 23:23:15.970511デフォルトの名無しさん
2011/03/14(月) 10:01:45.79コンパイラによる。
でもそもそも、本当にそんなことを気にしないといけないプログラムを作っているのか?
■ このスレッドは過去ログ倉庫に格納されています