D言語 Part30

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語 D (D Programming Language) について語るスレッドです。

■本家
http://dlang.org/ - 公式(英語)
http://www.kmonos.net/alang/d/ - 公式の和訳
http://d.puremagic.com/issues/ - D言語バグ報告
https://github.com/D-Programming-Language - D言語開発リポジトリ

■Wiki
http://dusers.dip.jp/ - D言語友の会(日本語フォーラムあり)
http://prowiki.org/wiki4d/ - Wiki4D(公認Wiki)

■前スレ
D言語 Part29
http://toro.2ch.net/test/read.cgi/tech/1329714331/

■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
2デフォルトの名無しさん:2012/07/31(火) 00:06:46.04
■IDE
http://www.dsource.org/projects/visuald - Visual D(Visual Studioプラグイン)
http://code.google.com/a/eclipselabs.org/p/ddt/ - DDT(Eclipseプラグイン)

■ライブラリ
http://www.dsource.org/projects/dwt - DWT(GUIライブラリ)
http://www.dsource.org/projects/gtkd - GtkD(GUIライブラリ)
https://github.com/Rayerd/dfl - DFL(GUIライブラリ・非公式最新版)
http://www.dsource.org/projects/derelict - Derelict(SDL/OpenGLなどのポーティング)
http://www.ku6.jp/keyword6/1.html - 傾き指向プログラミング(SDLなどのポーティング)

■D言語で作られたゲーム
http://www.nicovideo.jp/mylist/4453698 - D言語で作られた芝ゲー niconico動画
http://www.asahi-net.or.jp/~cs8k-cyu/ - ABA Games
3デフォルトの名無しさん:2012/07/31(火) 00:13:20.33
で??
4デフォルトの名無しさん:2012/08/01(水) 13:54:31.73
でつ・
5デフォルトの名無しさん:2012/08/01(水) 15:14:05.70
新スレ・
6デフォルトの名無しさん:2012/08/02(木) 22:51:27.42
>>1

うぉるたんかわいいようぉるたん
7デフォルトの名無しさん:2012/08/04(土) 00:34:12.48
新スレだ!D2.060だ!
8デフォルトの名無しさん:2012/08/04(土) 00:50:15.69
最近更新してもコンパイル通っちゃったり修正箇所少なかったりしてかなしい
9デフォルトの名無しさん:2012/08/04(土) 00:51:38.13
dmdでコンパイルエラー出ないと悲しくなる

だがoptlink、てめーはだめだ
10デフォルトの名無しさん:2012/08/04(土) 01:26:19.67
うぉるたんが2.060をさっさとリリースして Win64を進めるんじゃー
ってゆってたから年内には改善されるかもしれない



いや、やっぱり年内は無理かな
11デフォルトの名無しさん:2012/08/04(土) 07:45:12.43
>>8
い、いいことじゃん…
12デフォルトの名無しさん:2012/08/04(土) 12:17:28.98
あ?
13デフォルトの名無しさん:2012/08/04(土) 14:45:44.09
い?
14デフォルトの名無しさん:2012/08/04(土) 16:14:45.79
を?
15デフォルトの名無しさん:2012/08/04(土) 16:46:34.88
implibとか入ってるDigital Marsのbup.zipをウィルスセキュリティZEROがウィルス扱いして隔離するんだけど・・・
16デフォルトの名無しさん:2012/08/04(土) 16:51:07.42
>>1
17デフォルトの名無しさん:2012/08/04(土) 16:53:00.33
>>8-9
コンパイルエラー駆動開発
18デフォルトの名無しさん:2012/08/04(土) 17:05:26.63
19デフォルトの名無しさん:2012/08/04(土) 17:51:06.23
コンパイルエラーを直すのが一種のパズルゲームのように面白いのはDの利点だよ
20デフォルトの名無しさん:2012/08/04(土) 20:10:22.50
次のバージョン辺りから
いままでルーズな感じだったのを
constチェックをうるさくつけるようになるってこと?
21デフォルトの名無しさん:2012/08/04(土) 20:12:11.38
片山くん、俺は君を信じてWondersに乗っかることにしたから
今後も飽きずに対応してくれな

じゃ、ちょっと大型アプリケーション作りに行ってくるわ
22デフォルトの名無しさん:2012/08/04(土) 20:54:09.64
>>18
Zeroのことだから誤認だと思ったけどやはり・・・
23デフォルトの名無しさん:2012/08/04(土) 21:47:22.14
D用のfreeglutって無かったでした?
24デフォルトの名無しさん:2012/08/04(土) 21:49:19.72
ある
25デフォルトの名無しさん:2012/08/04(土) 21:59:55.00
doko?
26デフォルトの名無しさん:2012/08/05(日) 00:14:59.77
Derelict3 ni aru yo
27デフォルトの名無しさん:2012/08/05(日) 00:25:37.34
>>前スレ978
ざっとコード見たけどまあ頑張ってるんじゃない?
でも日本でPublic domainという時点でNG
28デフォルトの名無しさん:2012/08/05(日) 00:51:20.30
こういう狭い考えの奴らがスパゲッティーコードを量産し始めるんだろうな
29デフォルトの名無しさん:2012/08/05(日) 01:56:30.20
>>26
arigato. dakedo hayamatte jibunde porting sicyatta yo!!
ima sample ugoita toko
30片山博文MZボット ◆0lBZNi.Q7evd :2012/08/06(月) 13:51:14.29
>>21 これからもサポートやります。
>>27 MITライセンスにしようか?
31デフォルトの名無しさん:2012/08/06(月) 14:09:48.51
自由に使って良いよって意味合いで公開してるんだからPublic Domainでも大丈夫
日本の著作権の考え方と衝突するって言うけど
作者の意図が上のような状態なら
そもそも権利に関して衝突する状況がまず存在しないよ

開発を継続するのなら
gitとか使える所で公開したほうがいいと思う
32デフォルトの名無しさん:2012/08/06(月) 17:24:24.57
githubに上げてくだされー
33デフォルトの名無しさん:2012/08/06(月) 22:24:59.38
Javaからの移植で浮動小数点数の初期化でハマった
こういうハマリポイントまとめておくと後で便利そうと思ったので頑張ってやらない
34デフォルトの名無しさん:2012/08/06(月) 22:53:32.35
すいません。
std.net.curlで一部のUTF8ページの日本語部分が文字化けするのですが、どうすれば良いのでしょうか?

import std.net.curl;
import std.stdio;

void main(){
auto content = get("http://www.yahoo.co.jp/");
write(content); //文字化けなし
auto content1 = get("http://www.excite.co.jp/");
write(content1); //日本語が文字化け
}
35デフォルトの名無しさん:2012/08/06(月) 23:04:37.40
実は名乗ってる文字コードと真の文字コードが違う…

なんてことはないか、さすがに
3634:2012/08/07(火) 00:52:18.13
その後しらべた所、content-typeのcharset指定がなかったので、ISO-8859-1でデコードされていました。
ubyteで返してchar[]にcastしたら正常に動きました。ライブラリにエンコード指定の方法が欲しいですね。
ありがとうございました。
37片山博文MZボット ◆0lBZNi.Q7evd :2012/08/07(火) 12:17:46.08
Wonders ver.1.03
http://katahiromz.web.fc2.com/d/wonders.html
D1でもビルド可能に。MITライセンスになる。
wonders: 仕様変更。
shobjidl, shlwapi: バグ修正。
tchar: 強化、仕様変更。
commdef: commctrl, commoncontrolsから共通部分を分離。
38片山博文MZボット ◆0lBZNi.Q7evd :2012/08/07(火) 14:00:21.81
>>32
https://github.com/katahiromz/wonders
ちょっと手間取った。
39デフォルトの名無しさん:2012/08/07(火) 15:03:55.26
あるスレッドからTLS変数を一切使わないからTLSコピーしないでほしいんだけどなんか方法ない?
40デフォルトの名無しさん:2012/08/07(火) 21:39:29.68
?
41デフォルトの名無しさん:2012/08/07(火) 21:44:49.68
勝手にコピーとかしないんじゃ?
42デフォルトの名無しさん:2012/08/07(火) 22:51:29.59
スレッドの数だけコピーされるのがイヤってことでしょ
全部 shared もしくは D1 w
43デフォルトの名無しさん:2012/08/07(火) 22:54:30.63
__gsharedでいいじゃん
44デフォルトの名無しさん:2012/08/07(火) 23:20:51.86
TLSは普通に使うんだけど、特定のスレッドからはアクセスしないので
「このスレッドからはTLSを使いませんよ」宣言が欲しいってことでは
45デフォルトの名無しさん:2012/08/07(火) 23:33:26.62
方法無さそうだなあ
46デフォルトの名無しさん:2012/08/07(火) 23:39:47.24
自前のTLS実装作る
47デフォルトの名無しさん:2012/08/08(水) 01:40:56.10
片山さん、ついでにdirect2dのポーティングもやってくだしあ><
48デフォルトの名無しさん:2012/08/08(水) 23:40:43.56
>>39
taskPoolで最低限の初期化を我慢して使い回すか、std.randomのrndGenみたいに使うまでTLSの初期化を遅延するかどっちか?

Threadクラス改造すれば静的コンストラクタ呼び出さないのもいけそうだけど。
49片山博文MZボット ◆0lBZNi.Q7evd :2012/08/09(木) 12:46:33.26
Wonders ver.1.04
https://github.com/katahiromz/wonders
http://katahiromz.web.fc2.com/d/wonders.html
commdefとcommoncontrolsをcommctrlに統合。
gdiplus, fourcc, mmstream, directx/ddraw, directx/ddstreamを追加。
directx関係のimportを最適化。
50片山博文MZボット ◆0lBZNi.Q7evd :2012/08/09(木) 12:58:24.29
>>47 Direct2Dはどのヘッダでしょうか?
51片山博文MZボット ◆0lBZNi.Q7evd :2012/08/09(木) 14:17:06.42
>>50 ぐぐったら
d2d1.h, d2d1helper.h, d2d1helper.h, d2derr.hって出てきた。
ポートするぞ。
52デフォルトの名無しさん:2012/08/09(木) 17:37:25.07
githubを使い始めたり
片山くんが何気に成長しとるw
53片山博文MZボット ◆0lBZNi.Q7evd :2012/08/09(木) 22:10:43.23
d2d1、d2d1helperのポートは難易度高い
54デフォルトの名無しさん:2012/08/09(木) 23:53:52.41
フォント表示にdwrite.h、画像表示にwincodec.hも必要。
55デフォルトの名無しさん:2012/08/09(木) 23:54:51.49
泣き言は完成してから聞く
56デフォルトの名無しさん:2012/08/10(金) 00:01:26.59
ゲーム用サウンドはDirectSoundが廃止になって今はXAudio2が主流だから、DirectXをサポートするならXAudio2はあったほうがいいかも
57デフォルトの名無しさん:2012/08/10(金) 15:59:09.76
d2dはcomのモデルみたいだから大変かもね
58デフォルトの名無しさん:2012/08/10(金) 19:49:01.67
ttp://dpaste.dzfl.pl/88cd7bc7
> 878.d(6): Error: function compileme878.C2.method cannot override a non-virtual function
ちょっと何言ってるか分かんないですね
59デフォルトの名無しさん:2012/08/10(金) 20:02:11.02
ttp://dpaste.dzfl.pl/6f91f1d6
というかpackageってなんなんだ?
漠然とmoduleのことだと思ってたんだけどとんだ間違いで俺が間抜けなだけなのかな
60デフォルトの名無しさん:2012/08/10(金) 20:19:35.53
パッケージはモジュールの集まり

もっとわかりやすく言うとディレクトリ
61デフォルトの名無しさん:2012/08/10(金) 20:21:04.03
>>60
なるほろThx
そういえばJavaもそうだった

だとするとpackageでvirtualじゃなくなるのは単なるバグか
62デフォルトの名無しさん:2012/08/10(金) 20:59:44.38
http://d.puremagic.com/issues/show_bug.cgi?id=1161
まだこんなのも残ってるんだぜ
63デフォルトの名無しさん:2012/08/10(金) 21:17:00.70
privateで装飾すると非仮想関数として固定されるのと同じじゃない?
64デフォルトの名無しさん:2012/08/10(金) 21:26:54.11
仮想関数 ttp://www.kmonos.net/alang/d/function.html#virtual-functions

全ての非staticかつ非privateかつ非templateなメンバ関数は、 仮想関数です。
これは非効率的に聞こえるかもしれませんが、 コード生成時にDはクラス階層を全て把握していますので、 オーバーライドされていない関数への呼び出しは全て最適化されて non-virtual になります。


アクセス保護属性 ttp://www.kmonos.net/alang/d/attribute.html#ProtectionAttribute

package は、モジュールは違っても同じパッケージに属するコードからの アクセスは許可するようにprivateを拡張したものです。
これは、モジュールがネストしたパッケージの中にある場合は、 最も内側のパッケージについてのみ適用されます。
65デフォルトの名無しさん:2012/08/10(金) 21:43:49.25
するとJavaのpackage-privateみたいな属性は存在しないってことかな
66デフォルトの名無しさん:2012/08/10(金) 23:42:06.27
納得いかない

import std.stdio;

extern(C)
void f(int n)
{
  writeln(typeid(&f));
}

void main()
{
   f(0);
}

⇒ void()*
67デフォルトの名無しさん:2012/08/10(金) 23:55:09.40
writelnがアレなだけかね
pragma(msg, typeof(&f)); // void function(int n)
68デフォルトの名無しさん:2012/08/10(金) 23:55:46.33
あ、typeidか
69デフォルトの名無しさん:2012/08/11(土) 09:26:21.49
Dで使用する以下の関数を持つdllの作成について教えてください。dll作成はVisualStudio2010(32bit)を利用します。
現状以下の手順でdllを作成&使用していますが、関数呼び出し時object.Error: Access Violationとなってしまいます。
どこかおかしいところがあれば指摘お願いします。

以下手順です
【1.dll作成】
--- xxx.c ---
__declspec(dllexport) int __stdcall func(int (*f)(int, int), int x, int y);
int __stdcall func(int (*f)(int, int), int x, int y){  return f(x, y);}

【2.implibでxxx.libを作成】
implib /system xxx.lib xxx.def
---xxx.def---
LIBRARY "xxx.dll"
EXPORTS
_func@12

【3.dソースで利用】
dmd src.d xxx.lib
--- src.d ---
extern(System){
int func(int function(int, int) f, int x, int y);
int f0(int x, int y){return x + y;}
}
void main(){
  func(&f, 1, 2); // object.Error: Access Violation
}
70デフォルトの名無しさん:2012/08/11(土) 09:28:30.65
訂正
x func(&f, 1, 2); // object.Error: Access Violation
○ func(&f0, 1, 2); // object.Error: Access Violation
71デフォルトの名無しさん:2012/08/11(土) 09:51:13.09
xxx.cのfuncの引数のfにも__stdcallをつければ通る
72デフォルトの名無しさん:2012/08/11(土) 10:08:47.76
>>71
どうもです。動きました。
73片山博文MZボット ◆0lBZNi.Q7evd :2012/08/11(土) 11:32:33.86
Wonders ver.1.05
https://github.com/katahiromz/wonders
http://katahiromz.web.fc2.com/d/wonders.html
wincodec, dispdib, wownt{16,32}, directx/{d2derr,dxgiformat,
d2dbasetypes,d3d10_1,d3d10sdklayers,d2d1,d2d1helper,
d3d10_1shader,dcommon,dwrite,d3dcommon,id3d10blob}を追加。
mswsock, winsock2: バグ修正。
74片山博文MZボット ◆0lBZNi.Q7evd :2012/08/11(土) 11:41:55.14
GUID定数は、externじゃなくて値埋め込みの方がいいかな?
75片山博文MZボット ◆0lBZNi.Q7evd :2012/08/11(土) 12:13:11.06
構造体は、クラスで継承できなかった。
76デフォルトの名無しさん:2012/08/11(土) 12:23:02.22
個人の日記帳
77デフォルトの名無しさん:2012/08/11(土) 13:10:27.52
twitterだな
78デフォルトの名無しさん:2012/08/11(土) 13:20:54.73
うん
79デフォルトの名無しさん:2012/08/11(土) 13:51:36.12
githubに登録したんだから使う人はそっち見るだろう
失礼だけど需要のほとんど無いライブラリのリビジョンが上がる度に書き込むのはどうかと思うよ
80デフォルトの名無しさん:2012/08/11(土) 17:38:07.15
値型のconst変数の存在価値がわからない
immutableかenumでいいじゃん
81デフォルトの名無しさん:2012/08/11(土) 19:41:07.36
ポインタがあるからじゃ?
82デフォルトの名無しさん:2012/08/11(土) 22:13:54.70
>>75
次は関数パラメータのconst対応行ってみようか
83デフォルトの名無しさん:2012/08/11(土) 22:19:46.85
鬼が居るw
84デフォルトの名無しさん:2012/08/11(土) 23:02:36.64
IDEも作ってもらわなきゃ困る
なんかもう色々と最強なやつな
85デフォルトの名無しさん:2012/08/12(日) 00:09:07.60
現状だとVisualDの開発に参加するのが一番だろうね
86デフォルトの名無しさん:2012/08/12(日) 00:43:23.84
変数の中身をちゃんと見られるようになれば・・・
87デフォルトの名無しさん:2012/08/12(日) 00:48:57.50
どうも動きを見てると
Release版の静的ライブラリを読み込んでいる部分が展開されないような雰囲気
88デフォルトの名無しさん:2012/08/12(日) 01:57:47.08
ここのスレの住人はD言語の成長を暖かく見守ってるようでいいな
他の言語のスレは自分が使ってる言語をクソ糞言ってて気が滅入ってくるよ…
89デフォルトの名無しさん:2012/08/12(日) 02:04:11.04
まあアレだ
食う前に十分太らせないと
肉の旨いもマズいも無いってな
90デフォルトの名無しさん:2012/08/12(日) 02:05:08.76
ていうか、ある意味ではあんま変わらんよね。
クソ!(歓喜)みたいな。
91デフォルトの名無しさん:2012/08/12(日) 02:18:00.42
>>88
!!!D言語に欠点など無いからだ!!!!
92デフォルトの名無しさん:2012/08/12(日) 07:30:06.05
こんなインファイトの殴り合いをかけてくるクソがあるかッ!
93デフォルトの名無しさん:2012/08/12(日) 11:26:50.74
http://www.kmonos.net/alang/d/struct.html
>構造体にデストラクタのあるフィールドを持たせることはできません。

え?!

http://dlang.org/struct.html
>Unions may not have fields that have destructors.

なんだ共用体か・・・
94デフォルトの名無しさん:2012/08/12(日) 11:34:11.21
残念ながら・・・
95デフォルトの名無しさん:2012/08/12(日) 12:27:37.70
共用体のメンバごとにデストラクタ呼んでたらえらいことになるなw
96デフォルトの名無しさん:2012/08/12(日) 12:37:53.11
Dのデストラクタの信用ならなさは異常
97デフォルトの名無しさん:2012/08/12(日) 12:57:56.04
初歩的な質問なんだけど,プログラムを終了するときってどうすればいいんだ?
例外が発生したら writeln(ex); した後に自分を終了したいんだけど。
core.Runtime.terminate(); を使えばいいのかな?
98デフォルトの名無しさん:2012/08/12(日) 13:21:06.55
Cの関数は普通に使えるんでstd.c.process.exitもあるし、
あるいはmainまで伝播させてreturnとか。
99デフォルトの名無しさん:2012/08/12(日) 13:43:00.96
>>98
Thanks!
使い方がまずいのか,
std.c.process.exit だと scope(exit) hoge(); が実行されなかったので,
素直にmainまで伝搬させることにしました。
100デフォルトの名無しさん:2012/08/12(日) 13:50:00.88
andreiは例外投げろ、それがDのやり方だっていってるね
101片山博文MZボット ◆0lBZNi.Q7evd :2012/08/12(日) 15:04:10.99
>>82 えっ、具体例を挙げてくれますか?
CPtrとinで対応していると思いますが。
102デフォルトの名無しさん:2012/08/12(日) 15:12:19.10
D言語の薄い本が完売したと聞いて動揺した
103デフォルトの名無しさん:2012/08/12(日) 16:20:30.71
104デフォルトの名無しさん:2012/08/12(日) 18:14:23.98
そうかもう夏コミの季節か
明日からだっけ…?
105デフォルトの名無しさん:2012/08/12(日) 20:14:38.46
今日で終わりだよ
106デフォルトの名無しさん:2012/08/12(日) 20:28:33.95
\(^o^)/オワタ
107デフォルトの名無しさん:2012/08/12(日) 20:34:26.88
with (w = .writeln) {
 w("www")
}

みたいな構文が欲しい
108デフォルトの名無しさん:2012/08/12(日) 20:36:45.02
>>101

class Moge
{
 HWND m_hWnd;
 void Hoge() const
 {
  WinAPIHoge(m_hWnd);
 }
}

こんな感じだとconst入れてくれるなってエラー吐くのよ

WinAPIHoge(cast(void*)m_hWnd);
こんな状況になるわけさ

ただ値を参照してるだけのようなAPIにはWINAPIの関数パラメータのほうにconstをぶっ込んでくれると助かる
109デフォルトの名無しさん:2012/08/12(日) 20:37:00.89
{
 alias writeln w;
 w(1);
}
110デフォルトの名無しさん:2012/08/12(日) 20:38:03.62
あれ、前は関数内でalias作れないような気がしてたけど気のせいだったかな
ありがと
111デフォルトの名無しさん:2012/08/12(日) 23:59:19.36
structはnewしなくてもいい、classはC++と違ってnewしないとだめだけど
C++から割とでかいプログラムを移植する場合structなのかclassなのか全部把握してないとひどい目にあうよね
C++だと多態使う必要なければnewしないの普通だからそういうとこではまる
ほんとはできればnewしないで使いたいなあとか思ったり
みんなその辺どうしてる?
112デフォルトの名無しさん:2012/08/13(月) 00:03:58.47
static opCall()
113デフォルトの名無しさん:2012/08/13(月) 00:04:34.63
classは使わない
全部struct
114デフォルトの名無しさん:2012/08/13(月) 00:10:52.03
>>112
class C;
C c;
これをC++から移植するとき = new C()をつけるのを忘れてデバッグで苦労するのを何とかしたいんだ
opCall定義してもC c;じゃ通らないから結局解決しないんだぜ

>>113
お、それいいね!!
継承できんがな(´・ω・`)
115デフォルトの名無しさん:2012/08/13(月) 00:14:47.98
116デフォルトの名無しさん:2012/08/13(月) 00:25:53.08
>>115
お姉さん基底クラスにキャストして多態的なことしたいのェ・・・
117デフォルトの名無しさん:2012/08/13(月) 00:31:33.78
もうアキラメロン
118デフォルトの名無しさん:2012/08/13(月) 01:18:10.93
クラス名を全部変える(頭に Cをつけるとか)
それからコンパイル時にこけたところを一つずつ直す
119デフォルトの名無しさん:2012/08/13(月) 04:53:43.24
何で怒られるんです?
need 'this' to access member

http://ideone.com/cyoXu
120デフォルトの名無しさん:2012/08/13(月) 08:00:40.46
-debugコンパイルスイッチを付けた場合と付けない場合とで出力内容が違うんだけど、これって仕様通り?
http://dpaste.com/785387/
121デフォルトの名無しさん:2012/08/13(月) 08:15:03.61
単に未定義の部分が揺れてるだけだとおも
122デフォルトの名無しさん:2012/08/13(月) 08:44:00.60
デストラクタでメンバ触っていいのか?
123デフォルトの名無しさん:2012/08/13(月) 09:07:07.74
>>122
ttp://www.kmonos.net/alang/d/class.html#destructors
> auto オブジェクトや DeleteExpression で削除されるオブジェクト (GCからのデストラクタ呼び出しではないので、参照は必ず有効)には当てはまりません。
124デフォルトの名無しさん:2012/08/13(月) 09:24:52.88
postblitが正しく呼び出されないバグ
125片山博文MZボット ◆0lBZNi.Q7evd :2012/08/13(月) 09:38:10.53
>>108 なるほど。
126デフォルトの名無しさん:2012/08/13(月) 10:45:12.79
>>120
-debug時にデストラクタが4回呼ばれるのも気になる
127120:2012/08/13(月) 12:57:42.83
dpaste.comとdpaste.dzfl.plを誤爆しただなんて恥ずかしくて言えない
128デフォルトの名無しさん:2012/08/13(月) 22:14:02.96
129デフォルトの名無しさん:2012/08/13(月) 22:16:29.19
ideoneのアドレスみすったかも
http://ideone.com/CfqgQ
130デフォルトの名無しさん:2012/08/14(火) 10:02:05.53
ほほーう、ふふーん。二段構えなんですね
131片山博文MZボット ◆0lBZNi.Q7evd :2012/08/14(火) 15:53:19.37
<cguid.h>のCLSID_CCD*の値と、<mshtml.h>のCLSID_*の値が分からない。
誰か教えて。。。
132デフォルトの名無しさん:2012/08/14(火) 16:31:58.30
133片山博文MZボット ◆0lBZNi.Q7evd :2012/08/14(火) 16:35:25.22
c_dfDIKeyboard, c_dfDIMouse2, c_dfDIJoystickの中身は定義した方がいい?
134片山博文MZボット ◆0lBZNi.Q7evd :2012/08/14(火) 17:25:59.44
APIのライブラリが足りないなぁ。implibかなんかで作ろうか。。。
135デフォルトの名無しさん:2012/08/14(火) 17:50:13.61
ここはお前の日記帳じゃねえんだ
バカッターにでも書いてろ、な!
136デフォルトの名無しさん:2012/08/14(火) 17:59:51.57
twitterをご存じないのではないでしょうか
140字までの短文を投稿・閲覧できるサービスです
片山さんの書き込みには適していると思います
私もおすすめしますよ
137デフォルトの名無しさん:2012/08/15(水) 00:28:01.03
extern const CLSID CLSID_CCDFormKrnl;
extern const CLSID CLSID_CCDPropertyPage;
extern const CLSID CLSID_CCDFormDialog;

extern const CLSID CLSID_CCDCommandButton;
extern const CLSID CLSID_CCDComboBox;
extern const CLSID CLSID_CCDTextBox;
extern const CLSID CLSID_CCDCheckBox;
extern const CLSID CLSID_CCDLabel;
extern const CLSID CLSID_CCDOptionButton;
extern const CLSID CLSID_CCDListBox;
extern const CLSID CLSID_CCDScrollBar;
extern const CLSID CLSID_CCDGroupBox;

extern const CLSID CLSID_CCDGeneralPropertyPage;
extern const CLSID CLSID_CCDGenericPropertyPage;
extern const CLSID CLSID_CCDFontPropertyPage;
extern const CLSID CLSID_CCDColorPropertyPage;
extern const CLSID CLSID_CCDLabelPropertyPage;
extern const CLSID CLSID_CCDCheckBoxPropertyPage;
extern const CLSID CLSID_CCDTextBoxPropertyPage;
extern const CLSID CLSID_CCDOptionButtonPropertyPage;
extern const CLSID CLSID_CCDListBoxPropertyPage;
extern const CLSID CLSID_CCDCommandButtonPropertyPage;
extern const CLSID CLSID_CCDComboBoxPropertyPage;
extern const CLSID CLSID_CCDScrollBarPropertyPage;
extern const CLSID CLSID_CCDGroupBoxPropertyPage;
extern const CLSID CLSID_CCDXObjectPropertyPage;
138デフォルトの名無しさん:2012/08/15(水) 00:34:26.46
139デフォルトの名無しさん:2012/08/15(水) 12:04:02.32
久しぶりに見に来たけど丹後さん死んでしまったん?
140デフォルトの名無しさん:2012/08/15(水) 12:27:35.07
D2でいらない子扱いにされて拗ねてる
141デフォルトの名無しさん:2012/08/15(水) 12:37:17.15
どっちかというと形を変えながらだんだんPhobosにマージされていってるんじゃないの?
142デフォルトの名無しさん:2012/08/16(木) 04:37:40.53
ああ、すごい遅いけど>>1乙です。
ローダ更新しました。
ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip
o Derelict3 に移行しました。
o 全体的に書き直しました。
o テクスチャ貼りました。
o コンパイル時評価挫折しました。← New!!

軽い気持ちではじめたからDropboxだったけど、sourceforge に場所借りようかな。
143デフォルトの名無しさん:2012/08/16(木) 06:24:04.14
sourceforgeもいいけどgithubもいいよ!
144デフォルトの名無しさん:2012/08/16(木) 09:22:42.65
すげー
乙乙
145デフォルトの名無しさん:2012/08/16(木) 15:00:57.31
>>142
スタックトレース吐いた〜〜。
ttp://ideone.com/BVUBL
146デフォルトの名無しさん:2012/08/16(木) 15:24:26.01
デマングれてないとこがあるな…
147デフォルトの名無しさん:2012/08/16(木) 21:18:36.18
foreach (; 0 .. 10)
みたいなカウンタ変数すら無いループとかできないかな
148デフォルトの名無しさん:2012/08/16(木) 21:48:54.30
単純に回したいなら、構文は foreach(10) でいいんじゃないか。
149デフォルトの名無しさん:2012/08/16(木) 21:59:31.11
0開始とは限らないから foreach (5 .. 15) も必要じゃね?
150デフォルトの名無しさん:2012/08/16(木) 22:07:14.71
え。ループカウントは使いたいの?
151デフォルトの名無しさん:2012/08/16(木) 22:10:49.41
>>149
変数無いのにどうやってカウント値を参照するんだ?
152デフォルトの名無しさん:2012/08/16(木) 22:20:04.89
カウント変数$_に格納されます
153デフォルトの名無しさん:2012/08/16(木) 22:21:10.27
>>152
Perl?っていうかマジで?
154デフォルトの名無しさん:2012/08/16(木) 22:30:18.95
>>152
だったら普通に変数使えよw
155デフォルトの名無しさん:2012/08/16(木) 23:08:28.66
大してご利益もないのに複雑になるだけの構文イラネ
156149:2012/08/16(木) 23:45:58.67
>>150-151
こいつぁとんだ間抜けだぜ!
笑ってやれ笑ってやれHAHAHA
157デフォルトの名無しさん:2012/08/16(木) 23:48:31.39
src\druntime\import\core\stdc\*
のファイルって2.059だと.diなのに2.060では.dになってるのはなぜですか?
158デフォルトの名無しさん:2012/08/17(金) 00:31:17.53
>>145 おっとこいつは失礼。
-> mqo ファイル内でテクスチャファイル名が絶対パスなの考慮してなかった。直しました。
ttps://dl.dropbox.com/u/1630843/hp/d/mqo_loader.zip
ご指摘ありがとうございました。m(_ _)m

>>143
github のがいいんだ。じゃ次のからそうします。

>>146
2.059の時も文字化け?みたいなのしてたけど2.060でさらに読みにくくなったよね。>スタックトレース
159デフォルトの名無しさん:2012/08/17(金) 01:44:08.70
>>158
スタックトレース吐かなくなりました。GJ!
160デフォルトの名無しさん:2012/08/17(金) 01:54:36.07
foreach (_; 0..10)で我慢
161デフォルトの名無しさん:2012/08/17(金) 11:17:18.65
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk
Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ
eArray6valuesMFNdZAxk

リンク時にこういうエラーが出ます。
おそらくisAssociativeArrayを使っているからだと思いますが、どうすればいいですか?
162デフォルトの名無しさん:2012/08/17(金) 13:14:26.86
対象の xxxx.lib をコンパイル時に参照するように指定してあげないといけないんじゃないの
163デフォルトの名無しさん:2012/08/17(金) 13:19:36.44
連想配列周りのバグが直ってないのがいくつかあった気がする
http://d.puremagic.com/issues/show_bug.cgi?id=5950

コマンドラインでソースファイル名を渡す順序を入れ替えると
出なくなったりとか変なバグがある
164デフォルトの名無しさん:2012/08/17(金) 17:21:47.56
>>162
isAssociativeArrayはD言語標準なので困ったところなのです。

>>163
コンパイラのバグだったか・・・。
ソースファイルを渡す順序の入れ替え・・・地味な作業になりそうです。
165デフォルトの名無しさん:2012/08/17(金) 17:33:45.50
まさかisAssociativeArrayを関数呼び出ししてない?
166デフォルトの名無しさん:2012/08/17(金) 18:02:24.16
>>165
static if (isAssociativeArray!(Hoge))
こんな感じで使ってます。
167デフォルトの名無しさん:2012/08/17(金) 18:19:15.01
>>161
デマングリングだけしてみた。これに見覚えは?

@property const(uint)[] object.AssociativeArray!(const(char)[], const(uint)).AssociativeArray.values()
168デフォルトの名無しさん:2012/08/17(金) 18:56:17.52
演算子オーバーロードみたいにコンパイラが内部で書き換えるやつじゃね
169デフォルトの名無しさん:2012/08/17(金) 19:48:23.16
それD組み込みの連想配列の実装コードな気がする・・
170デフォルトの名無しさん:2012/08/17(金) 19:53:45.79
なんかkeys使うとリンクに失敗することがあったような
171デフォルトの名無しさん:2012/08/17(金) 20:42:53.43
>>167
直接、そういったテンプレートを呼び出した覚えはないです。

>>168-170
やはりコンパイラのバグか・・・。
172デフォルトの名無しさん:2012/08/17(金) 21:26:10.67
コンパイラはいつも夢を与えてくれますが
同時にバグも残していくのです
173デフォルトの名無しさん:2012/08/17(金) 21:59:34.29
つまり夢いっぱいってことさ。
174デフォルトの名無しさん:2012/08/17(金) 22:04:15.27
Open your Passion!!
175デフォルトの名無しさん:2012/08/17(金) 22:29:42.05
dmdのバグ
price less
176デフォルトの名無しさん:2012/08/17(金) 23:21:32.66
夢だけじゃ腹は膨れないんだよッ
177デフォルトの名無しさん:2012/08/17(金) 23:35:06.98
だったらケーキを食べればいいじゃない
178161:2012/08/18(土) 09:46:56.35
一応報告ですけど、コンパイラをdmd2.059からdmd2.054にしたらビルドできました(他のverは試してない)。
179デフォルトの名無しさん:2012/08/18(土) 09:57:37.82
最新版を試してない・・・だと・・・
180デフォルトの名無しさん:2012/08/18(土) 10:23:58.60
HEADじゃない…だと…?
181デフォルトの名無しさん:2012/08/18(土) 10:42:08.53
dmd -libのときって.libファイル指定できないんですか?

ライブラリソースのlib.dの中ではsc.iniで指定したパスにあるxxx.libの関数を使用しています。
dmd -lib lib.d xxx.lib
⇒Error: Error reading file 'xxx.lib'


もしかしてexeソースのsrc.dで直接xxx.libを使っていなくて
exeを作る場合は依存関係のあるすべての.libをdmdに並べないといけないのでしょうか

dmd src.d lib.lib xxx.lib
182161:2012/08/18(土) 23:32:43.12
dmd2.060が出てたの気づいてなかった・・・。
183デフォルトの名無しさん:2012/08/21(火) 21:40:24.95
184デフォルトの名無しさん:2012/08/21(火) 22:31:12.36
完売したらしいね
185デフォルトの名無しさん:2012/08/22(水) 08:36:23.64
おっくれてるぅー
186デフォルトの名無しさん:2012/08/22(水) 17:23:50.31
あれだけ扱い難いC/C++の処理系のバグの少なさには恐れ入ったもんだが
Dはどうしてだめなんだ。
187デフォルトの名無しさん:2012/08/22(水) 17:25:52.37
仕様が決まってないから
188デフォルトの名無しさん:2012/08/22(水) 17:37:57.10
こればかは
どうしようもない
189デフォルトの名無しさん:2012/08/22(水) 19:47:24.59
http://dlang.org/bugstats.php
ずいぶん改善されてる実感はあるんだけど
せめて、Criticalが1桁になればなあ・・
190デフォルトの名無しさん:2012/08/22(水) 19:49:25.17
ウォルターの存在自体がバグ
191デフォルトの名無しさん:2012/08/22(水) 21:30:22.40
>>189
改善されてないでしょ…
バグ曲線の見方は、newが少なくならないと安定してきたとはみなされないし。
192デフォルトの名無しさん:2012/08/22(水) 22:56:54.33
class C{...}
class D : C{...}

C d = new D;

dからDを得る方法ありますか?
typeof(d)だとCになってしまう。
193デフォルトの名無しさん:2012/08/22(水) 23:23:48.46
d.typeof
194デフォルトの名無しさん:2012/08/23(木) 12:09:18.20
d.toString
195片山博文MZボット ◆0lBZNi.Q7evd :2012/08/23(木) 16:15:36.24
>>82 できました。
196片山博文MZボット ◆0lBZNi.Q7evd :2012/08/23(木) 16:52:33.59
遅くなってごめんなさ
197デフォルトの名無しさん:2012/08/23(木) 16:59:14.16
あんなマンパワーの居る作業を一人でやったのか…
お疲れさん。
198デフォルトの名無しさん:2012/08/23(木) 19:40:34.48
>>196
Makefile
46 : ## DEBUG OR RELEASE?
逆じゃね?
199デフォルトの名無しさん:2012/08/23(木) 21:10:34.89
## DEBUG OR RELEASE?
DFLAGS=-inline -O -release -w $(DEFS) # for Debug (default)
#DFLAGS=-debug -gc -unittest -w $(DEFS) # for Release

これは逆やね
200デフォルトの名無しさん:2012/08/24(金) 22:15:41.39
C言語のライブラリから
char* hoge();
を文字列として引っ張ってきたいのですが、そのままだと文字のポインタのような感じになってるみたいです。
文字列のように持ってくる何かいい方法は無いでしょうか
201デフォルトの名無しさん:2012/08/24(金) 22:53:42.86
D言語だって文字の配列だよ
202デフォルトの名無しさん:2012/08/24(金) 22:56:05.46
hoge().to!string();
203デフォルトの名無しさん:2012/08/24(金) 22:56:06.23
ポインタから勉強しなおしてto!stringしろ
204デフォルトの名無しさん:2012/08/24(金) 22:57:25.06
メモリリークの予感しかしない
205デフォルトの名無しさん:2012/08/24(金) 23:00:16.96
>>200
char* p = hoge();
string s = p[0 .. strlen(p)].idup;
というのが一番簡単かな

Cライブラリで確保されたメモリは
GC管理下に無いからコピーした方が扱いやすいと思う
自分で管理出来るならidupしないでキャストしてもいいのかな
206205:2012/08/24(金) 23:01:55.61
あ、toで行けるのかスマン知らなかった
to賢いな
207デフォルトの名無しさん:2012/08/24(金) 23:08:16.61
>>200はポインタに対しての理解度があやしいので
その関数がmallocしてくるのかstaticな領域を返すのか確認した方がいいです
208デフォルトの名無しさん:2012/08/24(金) 23:09:35.25
>>206
isたんもかわいいお
209デフォルトの名無しさん:2012/08/24(金) 23:22:48.60
210200:2012/08/24(金) 23:40:17.15
hoge().to!string();
ですね。

関数内で作成した文字列は危険だから返すな!
予めメモリを確保した所から文字列としてchar*を返す分には問題ない。

とかそういう感じですかね?
ご指摘ありがとうございます。ちゃんと手直ししました。

色々とありがとうございます。
211デフォルトの名無しさん:2012/08/24(金) 23:43:42.83
要するにmallocしたらfreeしろってことだよ
212デフォルトの名無しさん:2012/08/24(金) 23:47:41.56
ぼくのアナルも排便した後は女の子に舐め取ってもらいたい!
213デフォルトの名無しさん:2012/08/24(金) 23:49:28.53
その後はすかさずベロチューか?
お前とはうまい酒が飲めそうだ
214デフォルトの名無しさん:2012/08/24(金) 23:53:40.52
ハードコアだな
215デフォルトの名無しさん:2012/08/24(金) 23:56:57.30
マゾしかいないのかと思ったらスカトロマニアも多いとは……。
趣味がが増えたよ! やったねたえちゃん!
216デフォルトの名無しさん:2012/08/25(土) 01:04:46.58
D言語のマスコットでエロゲ作ろう
217デフォルトの名無しさん:2012/08/25(土) 01:06:23.59
そこはマスコットと言わず高クオリティーで頼む
218デフォルトの名無しさん:2012/08/25(土) 01:53:04.54
ボコォ
219デフォルトの名無しさん:2012/08/25(土) 13:24:47.03
classインスタンスのアドレスを取るときって↓で良い?
あとこういうのってどこに仕様書いてありますか

C c = new C;
cast(void*)c
220デフォルトの名無しさん:2012/08/25(土) 17:24:59.46
ttp://www.kmonos.net/alang/d/class.html
> クラスオブジェクトは参照によってのみインスタンス化されます。
221デフォルトの名無しさん:2012/08/25(土) 19:33:51.34
ありがとうございます。
そこは見たのですが、その「参照」は何もラップされていないアドレスと考えて良いんですか?
222デフォルトの名無しさん:2012/08/25(土) 20:11:51.25
TypeInfo_Classがあるだろう。
223デフォルトの名無しさん:2012/08/25(土) 20:33:19.69
>>219それで合ってるよ
224デフォルトの名無しさん:2012/08/26(日) 02:18:07.74
&thisとかはスコープ外れた時に使えなくなるみたいなんだけど
どっかでポインタ用の変数を自動生成してるってこと?
225デフォルトの名無しさん:2012/08/26(日) 02:27:41.88
thisは変数だし、&thisは変数へのポインタなんだから当たり前だろ。
226デフォルトの名無しさん:2012/08/26(日) 02:38:20.51
ん?じゃあ外部で生成されたクラスのアドレスを
クラスの内部から取得する場合にはどうすればいいの?

クラスが生成されてる間に、アドレスの形で保持しておいて
スコープが外れても色々な所で使い回したいとかそういうケースなんだけど
227デフォルトの名無しさん:2012/08/26(日) 03:03:57.14
クラス内のthisも参照だけどそのへんわかってる?
228デフォルトの名無しさん:2012/08/26(日) 04:01:17.55
多分よく分かってません
thisは、Classへのアドレス?
&thisは、Classへのアドレスを記憶するために変数が用意される感じ?
とか、そんな感じで混乱してます
229デフォルトの名無しさん:2012/08/26(日) 10:10:20.29
thisはクラスのインスタンスを指す参照変数で、&thisはその参照を指すポインタを得る。
参照変数の内容にはポインタを含むから、&thisはポインタのポインタになるってわけ。
230デフォルトの名無しさん:2012/08/26(日) 10:12:39.89
s/ポインタ/アドレス/g
231デフォルトの名無しさん:2012/08/26(日) 12:10:55.47
>>226
そういう場合に>>219を使う。
thisからアドレスを得たいなら cast(void*)this でいい。
232デフォルトの名無しさん:2012/08/26(日) 14:04:30.06
基本的には>>219でいいけど、CがopCastを定義していると動かない
もうちょっとよいやり方はこちら

C c = new C;
void* p = *cast(void**)&c;
233デフォルトの名無しさん:2012/08/26(日) 15:43:06.33
Dのマスコット作ってる暇があるなら
ウォルタくんはこういうややこしい部分を図解してやればいいのになw
234デフォルトの名無しさん:2012/08/26(日) 16:20:28.86
ややこしいのか・・・?
235デフォルトの名無しさん:2012/08/26(日) 16:53:50.45
クラスのアドレスって何に使えるんだろう?
236デフォルトの名無しさん:2012/08/26(日) 17:11:05.96
memsetとかか。ガクブル。
237デフォルトの名無しさん:2012/08/26(日) 17:50:18.80
SetWindowLongしたりemplaceしたインスタンスをfreeするのに使ったり
238デフォルトの名無しさん:2012/08/27(月) 00:00:18.60
リンカが出す「Error 32: Data Outside Segment Bounds : _DATA」ってエラーはどんな意味なんだい
何をすれば解決するのかさっぱりで
239デフォルトの名無しさん:2012/08/27(月) 03:18:43.15
みんなのおかげで次のステップに移ることができたよ
ありがとう
240デフォルトの名無しさん:2012/08/27(月) 07:03:55.03
>>238
align絡みだと思う
こっちでは
align(1) struct S {...}
みたいなのがあると出た

struct S {align(1): ... }
なら問題無しみたい
241片山博文MZボット ◆0lBZNi.Q7evd :2012/08/27(月) 20:08:06.06
Warning 178: .LIB pagesize exceeds 512

助けて! -L/PAGESIZE:1024を付けてもダメだった。
242片山博文MZボット ◆0lBZNi.Q7evd :2012/08/27(月) 20:37:29.03
ライブラリが大きすぎるということか? でも二つに分けたくないな。
243デフォルトの名無しさん:2012/08/27(月) 20:43:50.09
単純な数値定数はconstではなくenumにすると、シンボルが出力されないからライブラリサイズが減るかも。
244デフォルトの名無しさん:2012/08/27(月) 21:38:26.40
OPTLINKを甘く見るな
吐いてるエラーメッセージが真実とは限らない
245デフォルトの名無しさん:2012/08/27(月) 23:03:47.65
2.060でalign属性がいかれちまってるんですが、
これはD言語erにとって大したことない感じなの?
246デフォルトの名無しさん:2012/08/27(月) 23:18:38.10
なに、ちょっとした崩壊的変更だ
一日ちょっと楽しめたぜ
247デフォルトの名無しさん:2012/08/27(月) 23:53:42.34
align(1)が変更つうかぶっ壊れてる気がするんですが、変更なの?
248デフォルトの名無しさん:2012/08/27(月) 23:56:21.38
struct S {align(1): ...}
でサイズが計算と合わない
249デフォルトの名無しさん:2012/08/28(火) 01:21:00.19
http://d.puremagic.com/issues/show_bug.cgi?id=8377
うぉるたんが disastrous bug って言ってるヤツかな
緊急リリースが出るかと思ってたけど出ない
250デフォルトの名無しさん:2012/08/28(火) 06:30:28.64
こういう話を見るたびに思うんだけど
Dがつく単語をわざと選んでんのかな
251デフォルトの名無しさん:2012/08/28(火) 10:10:20.94
選んでるかまでは知らんが
破壊とか崩壊とか解体とか災厄とか絶望とか、
その手の単語はラテン語源のことが多いけど、
そっちで接頭辞 de- とか dis- とかがつく単語で表現されてるもんだからもともとDで始まる単語が多い
252デフォルトの名無しさん:2012/08/28(火) 10:23:28.24
destroy
253デフォルトの名無しさん:2012/08/28(火) 11:39:10.70
dildo
254デフォルトの名無しさん:2012/08/28(火) 19:18:25.79
dragonic change
255デフォルトの名無しさん:2012/08/28(火) 20:15:31.49
"D"にこれ程深い意味があったとは
256デフォルトの名無しさん:2012/08/28(火) 20:46:15.28
Dragon → Dlagn → D lang
257デフォルトの名無しさん:2012/08/28(火) 21:06:46.87
>>248
align(1) struct S{ align(1): ... }
258デフォルトの名無しさん:2012/08/28(火) 21:25:16.15
Dのあのマスコットはドラゴンなのか?
259デフォルトの名無しさん:2012/08/28(火) 22:33:55.88
Dの意思
260デフォルトの名無しさん:2012/08/29(水) 03:17:30.61
The D like a mascot is a Doughnut.
You can eat it everywhere.
261デフォルトの名無しさん:2012/08/29(水) 04:09:05.33
void main()
{
import std.stdio;
"hello, world".writeln();
}


> a.d(4): Error: undefined identifier 'writeln'

           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |
262デフォルトの名無しさん:2012/08/29(水) 04:10:47.72
なんだそのエラーメッセージwもっと言うことあるだろ
263デフォルトの名無しさん:2012/08/29(水) 13:40:06.45
>>261
http://d.puremagic.com/issues/show_bug.cgi?id=6185
仕様。フリー関数じゃないとダメってどこかで見た気がする

だがしかし関数内のインポートはバグだらけだから避けるのが吉
264デフォルトの名無しさん:2012/08/29(水) 22:32:14.61
そうかー
関数内インポートは控えておくかな
265デフォルトの名無しさん:2012/08/29(水) 22:33:24.43
昨日>>261見て関数内で使えることを知って張り切って関数内import入れまくった後なのに・・・
266デフォルトの名無しさん:2012/08/29(水) 23:12:02.70
imporせずに関数使いたいことが稀によくある
デバグのためにpragma(msg)やる時とか
267デフォルトの名無しさん:2012/08/30(木) 03:16:30.64
え、インポなの!?
268片山博文MZボット ◆0lBZNi.Q7evd :2012/08/30(木) 12:32:22.03
「Unexpected OPTLINK Termination」で見事にこけた。
http://d.puremagic.com/issues/show_bug.cgi?id=6144
バグだらけだな、こりゃ。
269片山博文MZボット ◆0lBZNi.Q7evd :2012/08/30(木) 12:52:06.69
#define HANDLE_MSG(hwnd, message, fn) \
case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))

これをD言語に翻訳するとどうなる?
270片山博文MZボット ◆0lBZNi.Q7evd :2012/08/30(木) 12:57:45.60
Unexpected OPTLINK Termination at EIP=00402C5C
EAX=0000027C EBX=0052A2F8 ECX=00000001 EDX=00039FFF
ESI=02ED3083 EDI=00003D84 EBP=00000006 ESP=0012FF48
First=00402000
271デフォルトの名無しさん:2012/08/30(木) 13:16:15.89
OPTLINKはD言語最大の癌
272デフォルトの名無しさん:2012/08/30(木) 14:10:35.23
Linuxばんじゃーい!!!
273デフォルトの名無しさん:2012/08/30(木) 14:12:25.30
gdcがんばれー><
274デフォルトの名無しさん:2012/08/31(金) 05:36:40.54
HANDLE_MSG(m_hWnd, WM_CLOSE, Cls_OnClose);

case WM_CLOSE: return HANDLE_WM_CLOSE(m_hWnd, lParam, wParam, Cls_OnClose);
275デフォルトの名無しさん:2012/08/31(金) 17:52:40.07
文字列ミックスインで頑張ってここまではできた

switch (msg) {
mixin(
makeHNDR!(hwnd, WM_MSG1, "handler1")() ~
makeHNDR!(hwnd, WM_MSG2, "handler2")() ~
""
);
default:
}

http://ideone.com/oNThI
276デフォルトの名無しさん:2012/08/31(金) 21:55:06.72
汚いなぁそれやるなら公式で紹介されてるcond使えし
277片山博文MZボット ◆0lBZNi.Q7evd :2012/08/31(金) 22:32:48.67
>>275
有り難う。いい方法見つかった。
278片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 17:37:01.86
GDCでスタティックライブラリを作る方法、教えて。
279片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 17:50:07.41
「ar rv ライブラリ オブジェクト」でいいのか?
エラーがでるけど。
280片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 18:03:05.77
GDCでd2hello.exeがビルドできるようにしてください。お願いします。
http://dl.dropbox.com/u/72753355/wonders-beta.zip
281デフォルトの名無しさん:2012/09/01(土) 18:33:27.50
そういうのはtwitter使ったほうが早いよ
282片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 18:39:22.97
>>281 twitter反応がない。。。つぶやき方が悪いのか
283デフォルトの名無しさん:2012/09/01(土) 19:07:27.04
つぶやきシローみたいなノリでいくといいよ
284デフォルトの名無しさん:2012/09/01(土) 19:55:25.84
質問するときは #dlangつけれ
285デフォルトの名無しさん:2012/09/01(土) 20:14:49.10
さすがにそれはやってるだろう
286デフォルトの名無しさん:2012/09/01(土) 20:32:44.54
D言語disりつつ質問すれば、反応はしてくれるはず
287片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 20:33:10.08
C:\crossdev\gdc\v2\build\i686-pc-mingw32\libphobos/../../../gcc-4.6.1/libphobos/
core/sys/windows/windows.d:2780: multiple definition of `MAKEINTRESOURCEA@4'
libWonders7Wide.a(winuser.o):winuser.d:(.text+0x10): first defined here

元から有るライブラリと重複しているみたいだな。
libphobosをリンクしない訳にもいかないし。
288デフォルトの名無しさん:2012/09/01(土) 20:53:37.13
D言語に関連してる限りはここでもいいんじゃないの
他の言語と違ってエラーメッセージがコンパイラ側のバグとかもよくあるし。
全く関係無くしゃしゃり出てたらさすがに余所でとか言いたくなるけどそういうわけでもなさそうだし。
289デフォルトの名無しさん:2012/09/01(土) 20:55:31.57
>>287
いや、普通に考えてwindows.hの代替ライブラリ作ってるなら
core.sys.windowsとかをimportしちゃ駄目でしょw
290片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 20:57:00.66
>>287 関数名変えて、aliasつけて解決した。
291デフォルトの名無しさん:2012/09/01(土) 21:01:15.91
>>289
プログラミング初心者レベルだな…
292片山博文MZボット ◆0lBZNi.Q7evd :2012/09/01(土) 22:13:13.80
>>289 そんなものをimportした覚えはないが
293デフォルトの名無しさん:2012/09/01(土) 22:14:41.11
もしかしてWinMainとか使ってたり
なわけないか
294デフォルトの名無しさん:2012/09/02(日) 12:39:24.76
phobos の中でこっそり public import して"感染"状態を引き起こす奴がいる
潜在的にバグと言っていいんじゃないかな

それと、大きめのプロジェクトで -g(デバッグシンボル) をつけると OPTLINKがゴネることがある
295デフォルトの名無しさん:2012/09/02(日) 22:30:19.52
これはどういうこと?

dmd con.d
→Error: cannot read file con.d

mv con.d co.d
dmd co.d
→OK
296デフォルトの名無しさん:2012/09/02(日) 22:46:35.08
void main()
{
  class Base{}
  class Derived : Base{}
  alias Base delegate(Base) P;

  P p1 = (Base b) => new Base; // ok
  P p2 = (Base b) => new Derived; // ok
  P p3 = (Derived b) => new Base; // NG
  P p4 = (Derived b) => new Derived; // NG
}

p3, p4はいつできますのん
297デフォルトの名無しさん:2012/09/02(日) 23:01:22.48
Derivedしか受け付けない関数にただのBase渡せちゃうからダメじゃないの?
298デフォルトの名無しさん:2012/09/02(日) 23:23:09.92
イベントハンドラに使いたいんだけど無理かぁ・・・
299デフォルトの名無しさん:2012/09/03(月) 01:01:54.87
>>295
たぶんOSの予約デバイス名に引っかかってる
300デフォルトの名無しさん:2012/09/03(月) 01:49:11.93
そういや、CONCONバグとかあったよな。ああ懐かしき9x…
301デフォルトの名無しさん:2012/09/03(月) 02:55:40.08
Call of Duty だな
302デフォルトの名無しさん:2012/09/03(月) 11:36:04.87
納得いかねー!!
http://d.puremagic.com/issues/show_bug.cgi?id=502

↓こういうアホライブラリは一体どうしてくれよう…
setXXX はないけど getXXX に final つけちゃった☆
303片山博文MZボット ◆0lBZNi.Q7evd :2012/09/04(火) 14:56:22.65
http://codepad.org/xa1mI004
codepadのDコンパイラって古いんですね。
304片山博文MZボット ◆0lBZNi.Q7evd :2012/09/04(火) 15:05:15.38
GDCもバグだらけ。やってられない。
https://bitbucket.org/goshawk/gdc/issue/359/internal-compiler-error-in-toctype-at-d-d
D言語やめよっかな?
305デフォルトの名無しさん:2012/09/04(火) 15:13:18.79
かまってちゃんきたー
306デフォルトの名無しさん:2012/09/04(火) 15:30:22.90
D2が安定してもどうせD3で破壊的変更が繰り返されるのでそれに付いて行く覚悟のない奴はさっさとやめればいいよ
307デフォルトの名無しさん:2012/09/05(水) 01:13:40.58
>>304
やめるなんて勿体ない
そこまでの開発意欲があるのなら
コンパイラのバグ退治もしながら言語にも良い影響を与えてやってくれ
308デフォルトの名無しさん:2012/09/06(木) 08:08:40.62
最初だけ食いついて飽きたらポイしたのに俺のおかげでDは成長したみたいな顔してる人も居たような居なかったような
継続してなんかやってくれてる人はありがたい
309片山博文MZボット ◆0lBZNi.Q7evd :2012/09/06(木) 13:58:19.14
>>304のバグが修正されるまで、Wondersの開発を中断します。
310デフォルトの名無しさん:2012/09/06(木) 20:38:56.38
チェンジログに大量に追記されているのに気づいた。
でもこのままだと公式ドキュメントに反映されないっての…どうすんのさ
https://github.com/D-Programming-Language/druntime/commit/a9c2c6ca76e8a1767759cc7c642924c2ee57330e
311デフォルトの名無しさん:2012/09/07(金) 01:28:05.11
ttps://github.com/D-Programming-Language/dmd/pull/1099
だれかこのおっさん止めてー
312デフォルトの名無しさん:2012/09/07(金) 06:37:33.79
>>311
assertが有効になってるかどうかでの分岐だろ
あって困るようなもんでもないと思うが…
313デフォルトの名無しさん:2012/09/07(金) 10:33:16.99
`assert({
/* ... */
return true;
}());

これで十分。
314デフォルトの名無しさん:2012/09/07(金) 11:42:20.78
そういえば version (release) がないと
assertに対応する条件コンパイルは書けないんだったな

そっちの方が潰し柿食うと思うんだが
315デフォルトの名無しさん:2012/09/07(金) 15:32:21.43
>>311
なんてこった、敵の動きは早いぞ!

http://dlang.org/version.html#PredefinedVersions
316デフォルトの名無しさん:2012/09/07(金) 16:52:17.06
D_NoBoundsChecks
これ?
これがどうしたの?
317デフォルトの名無しさん:2012/09/07(金) 19:15:49.71
もはやコンパイルオプションでversion出来たらいいよねってレベル
318デフォルトの名無しさん:2012/09/07(金) 20:58:13.07
version (is > 3.141)
こんな感じ?
319デフォルトの名無しさん:2012/09/07(金) 22:23:45.20
@property以外は引数なくても括弧省略できなくなった理由ってなんなんですか?
って、あれ?
今試したらかっこつけなくても怒られなくなってる。
元からそうだっけ?
320デフォルトの名無しさん:2012/09/08(土) 00:16:13.87
-property enforce property syntax
321デフォルトの名無しさん:2012/09/08(土) 00:55:19.90
なるほど
322デフォルトの名無しさん:2012/09/08(土) 18:07:27.84
trunk見てると Win64の文字が舞い踊って次のリリースが楽しみだ

たぶん全く関係ないところにも大量のreg(ry
323デフォルトの名無しさん:2012/09/08(土) 18:21:07.23
Win64で3Dポリゴンの演算能力が!
324デフォルトの名無しさん:2012/09/08(土) 19:39:30.27
いやしかしCPUが64になってもポリスペックはGPUに依存するんじゃないか
325デフォルトの名無しさん:2012/09/08(土) 20:13:55.89
ニンテンドー64の話をしてるんだわさ!
326デフォルトの名無しさん:2012/09/08(土) 23:11:14.11
いや、今まで「OPTLINKの制約でゴニョゴニョ…」と先延ばしにされてきた問題が
一挙に解決…!! するはず

てかリンカのソースマダー? チン、チン
327デフォルトの名無しさん:2012/09/09(日) 04:34:40.90
ランカ・リー?
328デフォルトの名無しさん:2012/09/09(日) 16:58:30.88
D言語で動的ジャグ配列ってどうやるの?
↓?
int[/*a3*/][/*a2*/][/*a1*/] a = new int[a1][a2][a3];
329デフォルトの名無しさん:2012/09/09(日) 17:04:15.96
他の言語と同じように↓みたいにはできるのですが、もっとシンプルにはならないでしょうか
a = new int[][2];
a[0] = new int[3];
a[1] = new int[3];
330デフォルトの名無しさん:2012/09/09(日) 18:39:07.37
http://www.kmonos.net/alang/d/expression.html#NewExpression
int[][][] bar = new int[][][](5,20,30);
331デフォルトの名無しさん:2012/09/09(日) 21:29:35.62
>>330 了解
332片山博文MZボット ◆0lBZNi.Q7evd :2012/09/12(水) 14:27:44.82
gdc.exe -v2 -c -frelease -finline-functions -O3 -fweb -Wall
-fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild
-o wonders\commctrl.o wonders\commctrl.d
gdc.exe: error: unrecognized option '-v2'
何なんだこれは?
333デフォルトの名無しさん:2012/09/12(水) 15:01:17.89
gdc.exeさんは言いました:
-v2 って何の事? ボクチャン、ワカンネ
334デフォルトの名無しさん:2012/09/12(水) 19:07:03.20
assaultかbusterをつけろ
335デフォルトの名無しさん:2012/09/13(木) 02:00:15.68
https://bitbucket.org/goshawk/gdc/wiki/UserDocumentation
-fd-version=1

D2にしたいの? デフォルトでそうなってるっぽい
動かして確かめたわけじゃないけど…
336デフォルトの名無しさん:2012/09/13(木) 11:19:46.12
>>334
ガンヲタ乙
337片山博文MZボット ◆0lBZNi.Q7evd :2012/09/13(木) 13:17:04.60
>>335 ありがとう!
338デフォルトの名無しさん:2012/09/13(木) 23:08:33.78
公式でD言語に追加されそうな話が出てる機能ってどんなのあります?
339デフォルトの名無しさん:2012/09/14(金) 01:05:03.76
64bit win
340デフォルトの名無しさん:2012/09/14(金) 01:37:19.97
filterの返すrangeってlength持ってないんだっけ

import std.stdio;
import std.algorithm;
void main()
{
  auto a = [1, 2, 3, 4, 5];
  writeln(a.filter!(n=>n&1)().length); // Error: undefined identifier 'length'
}
341デフォルトの名無しさん:2012/09/14(金) 01:42:21.91
長さ決まってたら遅延評価っぽいことできないじゃん。逆だけど
342片山博文MZボット ◆0lBZNi.Q7evd :2012/09/14(金) 12:21:07.01
Wonders64ビット対応したよ。GDCで-fd-version=1をつけるとエラーが出てくる。何で?

gdc.exe -fd-version=1 -c -frelease -finline-functions -O3 -fweb -Wall -mwin32 -
fversion=Unicode -fversion=Windows7 -m32 -fversion=WondersBuild -o wonder
s\basetsd.o wonders\basetsd.d
c:\mingw64\include\d2\4.6.1\object.di:27: function declaration without return ty
pe. (Note that constructors are always named 'this')
c:\mingw64\include\d2\4.6.1\object.di:27: no identifier for declarator immutable
(char)
343デフォルトの名無しさん:2012/09/14(金) 19:16:46.19
エラーメッセージだけ出して丸投げすんな
344デフォルトの名無しさん:2012/09/15(土) 00:10:06.46
>>341
ああ・・・length如きで停止しないプログラムになったら困るよね・・・

↓これって結果が違うのは仕様なんですか?
import std.stdio;
void main()
{
  writeln(typeid(typeof(()=>1)));
  writeln(typeid(typeof(()=>{return 1;})));
}

結果
int()*
int()*()*
345デフォルトの名無しさん:2012/09/15(土) 00:11:47.01
ラムダ式にデリゲートあるんだからそれが正常
346デフォルトの名無しさん:2012/09/15(土) 00:56:00.68
なるほど{}が関数リテラルと判断されてるのね
347デフォルトの名無しさん:2012/09/15(土) 01:21:14.69
writeln(typeid(typeof((){return 1;})));
でいいのよ?
348デフォルトの名無しさん:2012/09/15(土) 01:33:21.25
俺も前それでハマったな
それでこのスレに書き込んだっていう
349片山博文MZボット ◆0lBZNi.Q7evd :2012/09/15(土) 11:31:42.00
>>343 エラーメッセージ以外に何を出せばいい?
350デフォルトの名無しさん:2012/09/15(土) 13:06:47.53
何より速さが足りない
351デフォルトの名無しさん:2012/09/15(土) 14:22:32.04
>>349
エロ画像
352デフォルトの名無しさん:2012/09/15(土) 15:42:16.58
いっとくけどめんくいだから美少女の顔が毛穴まで見えるほどのサイズのモザなしフェラ画像じゃないと答えん
353デフォルトの名無しさん:2012/09/15(土) 17:31:32.01
dlang.org シボンヌ
354片山博文MZボット ◆0lBZNi.Q7evd :2012/09/16(日) 20:25:07.03
>>350
何をお急ぎ? 要望あらばやがて果たしたし候。
355デフォルトの名無しさん:2012/09/16(日) 23:30:58.98
optlinkさえ、optlinkさえ真っ当なら-gつきコンパイルでライブラリの深淵のエラー箇所を特定できるものを…
356デフォルトの名無しさん:2012/09/17(月) 00:33:58.62
optlinkちゃんのgスポットは俺が独占して開発できるのだ
他の人には触らせないのだ
357デフォルトの名無しさん:2012/09/17(月) 15:19:57.82
エラーが何も出ていないのにexeが作成できていない現象出たことあるひとアドバイスplz
358デフォルトの名無しさん:2012/09/17(月) 15:50:04.13
リンクに失敗したとかでなくまったく何も出てない?
359デフォルトの名無しさん:2012/09/17(月) 15:57:11.38
まったくメッセージがでないんだ・・・
dmdのコマンドラインには存在するソースファイル名の他にオプションとか全然指定してないし
わけが分からないよ・・・
360デフォルトの名無しさん:2012/09/17(月) 16:03:47.11
うーん、実はなんか違うえたいのしれないdmdを呼び出してるとか?
whichは…Windowsにはないよなぁ
361デフォルトの名無しさん:2012/09/17(月) 16:14:41.35
関数一個削ったらコンパイル通ったったった・・・
もともと文法エラーで通らない関数なんだけど
それがあると何もメッセージなしでコンパイル終了、exeが出来ない
ないとコンパイル通ってexeが出来る

問題の関数で現象が発生する最小コードが分からないんだけど構造は大体こんなでした
Tuple!(bool, 構造体) func()
{
        : 処理
    return Tuple!(true, 構造体インスタンス); //コーディングミス
}
362デフォルトの名無しさん:2012/09/17(月) 17:00:03.01
エラーメッセージすら出せずに落ちるバグがdmdに?
363デフォルトの名無しさん:2012/09/17(月) 22:27:50.74
質問です。
数値の範囲を逆順foreachするうまい方法ばありますか??

foreach(i; 0..5) ←●これを逆順走査したい

foreach(i; 5..0) ←×ループされない
foreach(i; iota(0, 5).reverse) ←×iotaはreverse出来ない
foreach(i; iota(4, -1, -1)) ←×[4〜-1)は[0..5)と見た目が違いすぎて直感的じゃない
for(auto i = 4; i >= 0; i--) ←×出来れば見た目がすっきりしたforeachを使いたい

今のところ以下が良いかと思ってるのだけれどこれよりすっきりした方法ってありますか?
foreach(i; iota(0, 5).array.reverse)
364デフォルトの名無しさん:2012/09/17(月) 23:06:31.07
foreach_reverse
365デフォルトの名無しさん:2012/09/17(月) 23:38:00.03
な、なんだってーーー Ω ΩΩ
うわ、本当だ…恥ずかしい

foreach_reverseなんてopApply時代の化石くらいにしか思っていませんでした。。
366デフォルトの名無しさん:2012/09/17(月) 23:51:41.60
なにげに役に立つんだよねforeach_reverse
367デフォルトの名無しさん:2012/09/17(月) 23:56:15.14
レンジに対してでいいならretroでいいと思うけどね
368デフォルトの名無しさん:2012/09/18(火) 10:02:22.02
foreach_reverseが消えるとかいう話はどうなったの
369デフォルトの名無しさん:2012/09/18(火) 21:21:11.48
いいね
foreach(i; iota(0, 5).retro)
370デフォルトの名無しさん:2012/09/19(水) 09:06:49.13
Effective D 第1項 「forではなくforeachを使おう」
371デフォルトの名無しさん:2012/09/22(土) 10:20:26.20
std.algorithmとか使い方をわかりやすく解説してくれるページがあるといいと思う
372デフォルトの名無しさん:2012/09/22(土) 10:57:01.60
公式の説明でなんとかなるさ
373デフォルトの名無しさん:2012/09/22(土) 21:06:30.12
unittest読め
374デフォルトの名無しさん:2012/09/22(土) 21:09:10.85
ユニットテスト内容もddocでの自動ドキュメント化対象でもいいよな
375デフォルトの名無しさん:2012/09/23(日) 10:43:13.50
returnで複数の値を受け取ることはできないんですか?
perlでリストコンテキストで戻り値を受け取るようなのがしたいです。

import std.stdio;
import std.typecons;
import std.traits;

Tuple!(int, int) f()
{
  return ReturnType!f(10, 20);
}

void main()
{
  int a;
  int b;
  ReturnType!f(a, b) = f();
  writeln(a, b);
}

実行結果
00 ←10と20が取れてない
376デフォルトの名無しさん:2012/09/23(日) 10:53:19.41
std.typeconsのタプルはただ簡単に型まで自動作成できるだけの構造体。
一つの値として受け取った後に添字を使うのが普通かな
auto t = f();
writeln(t[0], t[1]);
377デフォルトの名無しさん:2012/09/23(日) 11:07:08.35
めんどくちゃいぅ(´>∀<`)
378デフォルトの名無しさん:2012/09/23(日) 11:10:20.83
auto f(){return (10, 20);}

(a, b) = f();

おしいようで全然おしくなかった
379デフォルトの名無しさん:2012/09/23(日) 11:45:42.38
それっぽいの作ったよー><
import std.typetuple;
struct MAssigner(P...) {
 P p;
 void opAssign(S)(S s) {
  foreach (i, ref v; p) {
   *v = s[i];
  }
 }
}
template PointerType(T) { alias T* PointerType; }
auto massigner(T...)(ref T t) {
 MAssigner!(staticMap!(PointerType, T)) a;
 foreach (i, ref p; a.p) {
  p = &t[i];
 }
 return a;
}

int a, b, c;
assigner(a, b, c) = tuple(1, 2, 5);
writeln(a, b, c);
380デフォルトの名無しさん:2012/09/23(日) 11:58:56.14
381デフォルトの名無しさん:2012/09/23(日) 12:51:03.86
>>379-380
これはえろい・・・
382デフォルトの名無しさん:2012/09/23(日) 17:04:28.02
>>375
変数初期化時用ならこのようなenhancementを提出している
https://github.com/D-Programming-Language/dmd/pull/341
383デフォルトの名無しさん:2012/09/24(月) 10:42:46.50
超欲しい
384デフォルトの名無しさん:2012/09/24(月) 21:05:04.57
>>379
昔そういうの入れるかどうか検討されてrejectされてる。
ライブラリレベルでは多分入らないんじゃないかと。
望みは >>382
385デフォルトの名無しさん:2012/09/24(月) 21:52:18.30
Go息しとるん?
386デフォルトの名無しさん:2012/09/27(木) 16:47:32.96
eclipseって文字列を選択するとハイライトされる機能ありますよね。
その機能をVisualDで使いたいと思っています。
そこで、VisualStudio用のアドインmetalscrollをインストールしたのですが、
VisualDに全く変化なしです。
使えないという事でしょうか?
387デフォルトの名無しさん:2012/09/27(木) 20:56:52.53
VisualStudioShellはプラグイン使えないんだなこれが
388デフォルトの名無しさん:2012/09/27(木) 22:44:40.19
>>387
そうでしたか・・・残念。
389デフォルトの名無しさん:2012/09/27(木) 23:37:00.10
VisualDってインテリセンス効かなくない?
なんかメンバ以外のシンボルも拾ってきてるような
390デフォルトの名無しさん:2012/09/29(土) 20:49:30.64
traitsとかopDispatch使ってECMAScriptのprototypeみたいなの出来ないかな
既存のインスタンスに変数とか関数とか突っ込めれば最高
391デフォルトの名無しさん:2012/09/30(日) 12:28:23.80
>>390
プロトタイプは無理だけど(継承で十分な気もするけど)、Mixinならできるよ。
392デフォルトの名無しさん:2012/09/30(日) 12:46:18.86
Variant[Variant]
393デフォルトの名無しさん:2012/09/30(日) 13:01:03.22
RTTIとopDispatchを利用してこんなのが出来ないかなと妄想してます

auto o = new PrototypeObject;
o._add( "negate", a=>-a );
o._add( "value", 10 );

writeln(o.negate(o.value)); // -10

auto o2 = o.clone();
o2.value = 20;
writeln(o2.negate(o2.value)); // -20

外から_addする関数からメンバ変数にアクセスするなら文字列リテラルで関数を書かないとダメでしょうけど・・
394デフォルトの名無しさん:2012/09/30(日) 17:55:13.37
それだと実行時に追加する形だからコンパイル時に型を決定出来ないよね
やるとしても>>392をラップする形になると思う(Variant使ったことないけど)
395デフォルトの名無しさん:2012/09/30(日) 18:38:18.31
内容型VTを定義しといて、TypeInfoと適当なサイズのすべての型バッファを持っておいて、
関数呼び出しはopCall(T...)でTypeInfoがtypeid(VT delegate(T))と一致すれば(cast(VT delegate(T))&buf)(t)
VT[string]の代わり(そのままだと結構不便だろうから)になるテーブル型まで定義してやればいけそうな気はする
という妄想
396デフォルトの名無しさん:2012/09/30(日) 19:50:37.69
可変個引数テンプレートって、関数テンプレートにしか使えないですよね?
クラステンプレートなどで可変個引数を使いたかったら、
引数1個〜n個まで1つずつ手書きするしかないのでしょうか?
397396:2012/09/30(日) 21:16:54.74
いや、使えますね。
タプルを使えばいいのか。
398デフォルトの名無しさん:2012/10/02(火) 22:34:35.55
話題くれー
399片山博文MZボット ◆0lBZNi.Q7evd :2012/10/03(水) 10:57:50.25
Wonders
https://github.com/katahiromz/wonders

↓エロ画像を用意しました。バグ報告をよろしくお願いします。
http://27.media.tumblr.com/tumblr_m2gkcq0d5J1qc10j6o1_250.gif
400デフォルトの名無しさん:2012/10/03(水) 12:12:24.25
Dオワタ・・・

マイクロソフト、JavaScriptの大規模開発を可能にする「TypeScript」を発表――JavaScriptのスーパーセット
http://www.computerworld.jp/topics/577/205052

 より複雑なアプリケーションを開発できるよう、C++やJavaといった成熟した言語によく見られる先進的な開発機能を米国MicrosoftがJavaScriptに複数実装した。
今回、JavaScriptのスーパーセット「TypeScript」としてパッケージ化されたのは、静的型付け(スタティック・タイピング)、クラス、モジュール化といった新機能だ。

 MicrosoftのC#言語担当最高アーキテクト、アンダース・ヘルスバーグ(Anders Hejlsberg)氏は、
「過去5年以上にわたり、JavaScriptでアプリケーションと同等のプログラムを記述するのが難しすぎるという不満の声が顧客から寄せられてきた」と話している。
コード予測やすぐれたデバッグ、リファクタリング、混在する大量のプログラム・コードの簡単な検索などの基礎機能を備えるTypeScriptは、
JavaScriptによるコード開発に新たな道をひらくだろうと同氏は述べた。

 「JavaScriptはスクリプティング言語として作られた。中規模から大規模なコードベース、すなわちクラスやモジュールといったものを構成するようには設計されていないのである。
(中略)JavaScriptは静的型付けのない完全な動的言語だが、今日のリッチなIDEの動力源となっているのはこの静的型付けだ」(ヘルスバーグ氏)

 静的型付けでは、開発者は特定のデータ・タイプを生成される変数それぞれに割り振らなければならない。JavaScriptはそれ自体が動的にタイプ化される言語であるため、
事前にデータ・タイプを変数に割り当てる必要がなく、経験の浅い開発者でもコーディングがしやすい。

 しかしながら静的型付けがなされる場合は、変数に割り当てられるデータのタイプを決定できるので、コンパイラがコーディング・エラーに関する詳細なレポートを作成したり、
プログラムに必要と思われるものをより正確に予測したりすることができるようになる。例えばVisual Studioでは、TypeScriptによって、
コーダーがJavaScriptを記述する際に必要な情報を「IntelliSense」が先読みし提供できるようになる。その予測精度は、C#やその他の静的言語を使う場合と同程度だそうだ。
401デフォルトの名無しさん:2012/10/03(水) 12:45:38.90
402デフォルトの名無しさん:2012/10/03(水) 14:45:48.54
>>400は対Dart兵器じゃないの?すでにDart死にかけてるけど。
403デフォルトの名無しさん:2012/10/03(水) 15:58:40.34
ASPで10年サポートするなら使おうという人も出るんじゃないかな
404デフォルトの名無しさん:2012/10/03(水) 16:02:46.81
あ、japascriptへの変換機なのか。
結局ECMAScriptの次期バージョン待ちという
405デフォルトの名無しさん:2012/10/03(水) 17:36:16.51
DMDScriptはD言語からjavascriptへの変換を行います!!

え?違うの?
406デフォルトの名無しさん:2012/10/03(水) 17:58:27.24
新しいものを取り上げて「○○オワタ」って言い出す奴って
やっぱりバカなんだね
407デフォルトの名無しさん:2012/10/03(水) 18:45:24.20
穏やかに行こうぜ
408デフォルトの名無しさん:2012/10/03(水) 19:37:58.85
目的も用途も内容も全然違うものやがな
たとえるならばそう、Phobosとおでんくらい違う
409デフォルトの名無しさん:2012/10/03(水) 19:58:00.43
Javascriptは糞cleの商標だからECMAScriptって言わないと
410デフォルトの名無しさん:2012/10/03(水) 21:08:45.82
は?
411デフォルトの名無しさん:2012/10/03(水) 21:37:40.78
知らないのか・・・
412デフォルトの名無しさん:2012/10/03(水) 21:47:58.96
JavaScriptの開発はNetscapeとMozillaでしょ
413デフォルトの名無しさん:2012/10/03(水) 21:55:25.32
そのあとSunの持ち物になって更に糞cleが買収したの知らないのか
414デフォルトの名無しさん:2012/10/03(水) 22:02:40.52
商標もってるってだけだろ。どうでもいいわ
415デフォルトの名無しさん:2012/10/03(水) 22:12:06.74
IO周りとかその後なんか動きあった?
DIO!
416デフォルトの名無しさん:2012/10/03(水) 22:30:45.61
邪悪の化身ッ!
417デフォルトの名無しさん:2012/10/04(木) 00:14:59.54
アニメは5日、24:30からッ!
418デフォルトの名無しさん:2012/10/05(金) 13:00:59.58
テキスト処理にスクリプト代わりに使いたいのだが
win/macでいい実行環境がないもんかなあ
419デフォルトの名無しさん:2012/10/05(金) 13:21:44.61
ttp://www.kmonos.net/alang/d/overview.html

Dはスクリプト言語でも、 インタプリタ言語でもありません。 VM を持たず、 宗教やおおげさな哲学とも縁がありません。
信頼性・保守性の高い・読みやすいコードを書いて仕事をサクサク進める必要のある 現実的なプログラマのための、 現実的な言語です。
420デフォルトの名無しさん:2012/10/05(金) 14:11:12.33
一時は期待したときもあるけど
Dでやりたい場所が無くなったな
大体Pythonで済んでしまうし
速度必要ならC/C++でやってしまう
Dはスタートダッシュが失敗でコケた感じ
421デフォルトの名無しさん:2012/10/05(金) 15:11:14.46
なぜCでやってしまうのか
422デフォルトの名無しさん:2012/10/05(金) 19:16:44.31
実行環境ってちょっと意味が分からない
423デフォルトの名無しさん:2012/10/05(金) 20:39:19.60
rdmdじゃダメかな。
意味違ってるかも。俺もわからん。
424デフォルトの名無しさん:2012/10/06(土) 00:49:25.93
コードを変更しなくてもコードが動かなくなる言語で書かれたコードは信頼性・保守性が高いと言ってもいいのだろうか
425デフォルトの名無しさん:2012/10/06(土) 01:09:37.76
何?お前Pythonディスってんの?
426デフォルトの名無しさん:2012/10/06(土) 01:10:56.78
>>424
Rubyディスってんの?
427デフォルトの名無しさん:2012/10/06(土) 01:14:07.53
その点Perlってすげえよな
428デフォルトの名無しさん:2012/10/06(土) 01:14:48.30
ラリー「6…」
429デフォルトの名無しさん:2012/10/06(土) 01:20:58.67
クリスマスには出るよ
430デフォルトの名無しさん:2012/10/06(土) 01:33:59.44
何年のクリスマスかは知らんけどな!
431デフォルトの名無しさん:2012/10/06(土) 04:10:59.58
利根川ですか
432デフォルトの名無しさん:2012/10/06(土) 07:55:37.03
いいえ、加古川です
433デフォルトの名無しさん:2012/10/06(土) 13:15:17.81
D言語の話しようぜ
434デフォルトの名無しさん:2012/10/06(土) 13:15:41.27
次のリリースはいつぞ
435デフォルトの名無しさん:2012/10/07(日) 17:31:59.64
読みやすい…?
436デフォルトの名無しさん:2012/10/07(日) 18:37:35.44
読みやすいコードを書く修行をするための言語です
437デフォルトの名無しさん:2012/10/07(日) 20:10:05.61
D言語の実用性はD言語製フレームワークの社会貢献度に比例する
438デフォルトの名無しさん:2012/10/07(日) 20:25:56.62
その理屈はおかしい
439デフォルトの名無しさん:2012/10/07(日) 23:39:58.87
普及を妨げた犯人は丹後に潜伏中
440デフォルトの名無しさん:2012/10/08(月) 16:59:01.02
このスレの廃れプリはなんなんだ・・・
俺以外にD言語やってるやつもういないのか
441デフォルトの名無しさん:2012/10/08(月) 17:14:44.69
おれだよおれおれ
442デフォルトの名無しさん:2012/10/08(月) 17:26:42.12
Goと比べたら随分マシ
443デフォルトの名無しさん:2012/10/08(月) 18:53:15.74
Dで作られたそこそこ有名なソフトって何?
444デフォルトの名無しさん:2012/10/08(月) 19:24:36.07
>>2
・ロードモナーククローン
・同人の萌え系シューティング
・nesエミュ
・winnyクローン
など
445デフォルトの名無しさん:2012/10/08(月) 19:25:25.75
あ、ロードランナーだった
446デフォルトの名無しさん:2012/10/08(月) 19:52:47.50
pspエミュもあるな
447デフォルトの名無しさん:2012/10/08(月) 20:42:15.16
Dすっげ、まじすっげ
448デフォルトの名無しさん:2012/10/09(火) 01:23:27.07
ttps://github.com/garlic-flavor/WebKit2d
WebKit2のポーティング書いてみました。
あんまりテストしてないのでまだ実用には耐えないとおもいますが、なまあたたかくどうぞよろしく。
449デフォルトの名無しさん:2012/10/10(水) 14:13:38.35
Dって書く人によってコードかなり変わるよな
関数型っぽく書く人もいればCの延長みたいに書く人もいるし
classばっか使う人とかstructばっか使う人とか
450デフォルトの名無しさん:2012/10/10(水) 19:55:02.74
俺C++っぽくかいてる
てかC++が[]()->{}()こんな素敵な記号列出してきたせいで心が揺れてる
451デフォルトの名無しさん:2012/10/11(木) 00:49:53.81
Dっぽいコードってどんなだろうね。
なんかお題だして書いて見るのも面白いかもしれん。FizzBuzzとか
452デフォルトの名無しさん:2012/10/11(木) 00:56:42.13
D言語だとさらに、コンパイル時に、とか、1行で、とかの条件が付きそうだ。
453デフォルトの名無しさん:2012/10/11(木) 01:02:06.63
ああ、確かにコンパイル時にゴリゴリやるのはDっぽいかも
一行はまたジャンル違う気がするけど
454デフォルトの名無しさん:2012/10/11(木) 15:37:23.65
dmd2.060 で DFL 0.9.8(dfl-20110523.zip) がコンパイルエラーになるのですが
解決されている方は教えてくださーい!

ちなみに ttp://forum.dlang.org/thread/[email protected]
に書かれているように ttps://github.com/Rayerd/dfl
を試したのですがやはりコンパイルが通りませんでした。。。
455デフォルトの名無しさん:2012/10/11(木) 20:58:37.41
dfl-20110523.zipをウィルスセキュリティZEROでチェックしたら
riskwareとかいって隔離しやがった・・・
456デフォルトの名無しさん:2012/10/11(木) 22:26:17.29
ZEROなんて使ってるお前が悪い
457デフォルトの名無しさん:2012/10/11(木) 22:42:09.34
バスターさんより評判の悪い唯一のウィルス対策ソフトじゃないか
458デフォルトの名無しさん:2012/10/13(土) 23:43:52.95
VisualD 0.3.34
459デフォルトの名無しさん:2012/10/14(日) 09:15:52.47
2012対応キタ
460デフォルトの名無しさん:2012/10/14(日) 13:56:24.48
インテリセンスどう?
461デフォルトの名無しさん:2012/10/14(日) 17:42:28.39
>>455
うちのF-SecureでもヒューリスティックONだとmalwareと扱うのを確認した。
どうやら、bitdefenderエンジンのヒューリスティック部分が誤検知するっぽい?
462デフォルトの名無しさん:2012/10/14(日) 17:51:21.10
>>461
自己レス。
勘違いだった。dfl-20110523.zipには反応してない。
じゃ何に反応したのかといえば、
DMD本体とDで作ったプログラム全部。

余計深刻なんですが。
反応してくれるか知らんが、レポート送っとくか
463デフォルトの名無しさん:2012/10/14(日) 18:00:05.95
phobosにでも反応してんのかねぇ
464デフォルトの名無しさん:2012/10/14(日) 22:44:11.01
最近のウィルス対策ソフトさんぱねー
Dで作ったソフト公開してもウイルス判定されるとか悲惨だ
465デフォルトの名無しさん:2012/10/15(月) 00:31:17.06
>>454
最新同士でもダメ?
466デフォルトの名無しさん:2012/10/15(月) 00:39:13.66
D終わったな〜〜
467デフォルトの名無しさん:2012/10/15(月) 01:18:56.02
ウイルスZeroとD-languageがひとつのPC内でスタンブルする事じたいレアケースじゃん
468デフォルトの名無しさん:2012/10/15(月) 02:56:04.63
ウイルスのように蔓延して欲しいというD言語の願い、それをウイルスチェッカが検知したのだ
469デフォルトの名無しさん:2012/10/15(月) 04:24:34.59
rubyとgoとvc runtimeとctagsとlibiconvでもウィルス反応出てるから気にしなくていいだろ
470デフォルトの名無しさん:2012/10/15(月) 05:02:24.40
Windowsをウイルスとして検知してもいいはず
471デフォルトの名無しさん:2012/10/15(月) 06:26:30.70
W32/zero
472デフォルトの名無しさん:2012/10/15(月) 08:16:49.84
Windowsは畑
473デフォルトの名無しさん:2012/10/15(月) 08:35:40.52
474デフォルトの名無しさん:2012/10/15(月) 10:34:52.33
畑彡
475デフォルトの名無しさん:2012/10/15(月) 18:24:55.68
むしろGPL類をウィルスとして絶滅させて欲しい
476デフォルトの名無しさん:2012/10/15(月) 18:35:15.37
GPLは伝染率100%
477デフォルトの名無しさん:2012/10/15(月) 18:40:15.20
それならプロプライエタリソフトウェアをおねがいします
478デフォルトの名無しさん:2012/10/15(月) 19:01:39.58
GPL以外は全部プロプライエタリってか
479デフォルトの名無しさん:2012/10/15(月) 19:15:22.62
という偏見
480デフォルトの名無しさん:2012/10/15(月) 19:19:18.75
感染しても発病しなければ問題無し(キリッ)
481デフォルトの名無しさん:2012/10/15(月) 21:25:37.65
>>465
返信どもです!
dmd2.060, DFL 0.9.8(dfl-20110523.zip) は最新同士だと思っています〜

まあ、気長に待とうかなと思っています(他力本願モード)
482デフォルトの名無しさん:2012/10/15(月) 21:42:59.91
ライブラリのコードくらい直せばいいじゃん…と言いかけて
他の言語ではそれが普通じゃないことに気づいた
483デフォルトの名無しさん:2012/10/15(月) 23:37:30.36
最新同士ならmakelib.bat実行でふつーに通ったはず
484デフォルトの名無しさん:2012/10/16(火) 01:46:18.97
>>481
その本家のDFLは全く使い物になりません。
gitの方じゃないとコンパイルできないよ。
485デフォルトの名無しさん:2012/10/16(火) 01:48:24.58
本家のzipに入っていてgitには入っていないファイルも入れるようにすべきかなーと考え中
486デフォルトの名無しさん:2012/10/16(火) 14:28:56.44
DFL は DMDのバージョンアップごとに毎回手直ししないとビルドできない
すぐ試してみたいなら最新パッチ全部入り暫定版がここにある
https://github.com/JesseKPhillips/dfl/tree/acceptPulls

でも2.060あたりは例外を握りつぶすバグがあるからオススメできない
2.061が出るのを待ってその後 Rayerdさんとこの最新をもらってくるのが吉
487デフォルトの名無しさん:2012/10/17(水) 01:26:30.11
>>486
どもども!試してみます、ありがとうございます(感謝!)
488デフォルトの名無しさん:2012/10/17(水) 16:11:43.78
dioってたたき台とはいえ作ってる人いたのか
情報源ここ頼みすぎて知らんかった
489デフォルトの名無しさん:2012/10/17(水) 18:39:32.45
Win64対応されたら COFF対応! Optlink の直らないバグの山ともおさらばさ!
と無邪気に思っていたが
32ビットアプリを作るときは何も変わらなそうだな…
490デフォルトの名無しさん:2012/10/19(金) 01:06:08.00
http://code.google.com/p/xbyak4d
JIT x86アセンブラxbyak D言語の移植
491デフォルトの名無しさん:2012/10/20(土) 16:06:28.92
blazeD2っていうの見つけてやってみたけど
コンパイルが素のまま通るだけで挙動やっぱおかしい気がする・・・
492デフォルトの名無しさん:2012/10/20(土) 16:14:53.85
コンパイル通るとかマジかよ
493デフォルトの名無しさん:2012/10/20(土) 16:16:27.14
それはおかしい
494デフォルトの名無しさん:2012/10/20(土) 16:31:51.39
そうかコンパイルが通るというそのこと自体がおかしかったのか
495デフォルトの名無しさん:2012/10/20(土) 16:55:21.85
Dをはじめてからコンパイルが一発で通ると不安になるようになりました
本当にありがとうございました
496デフォルトの名無しさん:2012/10/20(土) 16:59:17.45
コンパイルが通らず
リンクが通らず
動かない
その過程を経ていないDのライブラリは怖くて使えない
497デフォルトの名無しさん:2012/10/20(土) 17:28:19.78
helloworld.dが一見上手くいってるのに壁の角度変えると途端におかしくなっちゃう
498デフォルトの名無しさん:2012/10/20(土) 17:35:01.72
一発でコンパイルが通ると不安になるのはみんな一緒か
499デフォルトの名無しさん:2012/10/20(土) 21:17:03.53
そうそう、blazeはなんかおかしい
直そうとしたけど無理だったから捨てた

このサンプル動くまでがんばれ
http://www.dotup.org/uploda/www.dotup.org3538140.png
500デフォルトの名無しさん:2012/10/21(日) 00:32:40.17
でもこれわりと最近(4 months ago)リリースされてるんだぞ
動作確認ぐらいしてないものかねえ
501デフォルトの名無しさん:2012/10/21(日) 00:54:05.79
Dのバージョンうpしたのは二ヶ月くらい前よ
502デフォルトの名無しさん:2012/10/21(日) 01:49:57.52
それでコンパイルエラーが起きないのか・・・ますますおかしいな
503デフォルトの名無しさん:2012/10/22(月) 01:03:59.39
メンバ変数の名前一覧(FieldTypeじゃなくてFieldNameTupleみたいなの)
が欲しいんですがなんか取れる方法ありますか?
504デフォルトの名無しさん:2012/10/22(月) 01:18:37.13
__traitsのallMembersかderivedMembersでどうにでもなるだろきっと
505デフォルトの名無しさん:2012/10/22(月) 01:44:59.70
allMembersからだと静的変数弾くのが難しいなと思ってたんですが
いわれて頭ひねってたら確かにどうかなりそうな気がしてきました
とりあえず頑張ってみます
506デフォルトの名無しさん:2012/10/22(月) 01:50:10.94
すいません、どうでもいいんですけど上のレス、
「なんとか上手くいきそう」くらいの意味で書いたつもりだったんですが
「どうかなりそう」は完全に意味違ってますね。失礼しました。
507デフォルトの名無しさん:2012/10/22(月) 02:41:48.66
頭が沸騰しそう
508デフォルトの名無しさん:2012/10/22(月) 08:28:35.83
ヘッドなのかフットなのかはっきりしたまえ
509デフォルトの名無しさん:2012/10/22(月) 22:01:53.26
だれうま
510デフォルトの名無しさん:2012/10/25(木) 02:28:23.54
>>147からの流れの回数だけのループ、
void loop(void delegate() dg, size_t n) { while(n--) dg(); }
こういうの定義したら、

{ /* 〜〜〜 */ }.loop(10);
こう書けるんじゃねと思ったけどダメだった。惜しい
511デフォルトの名無しさん:2012/10/25(木) 03:04:25.70
>>510
ブロック+大域アクセスになってるのか・・・
(){}.loop(10)とか({}).loop(10)なら行けるってのが悔しいな
512デフォルトの名無しさん:2012/10/25(木) 07:24:40.67
後置はいやいや〜ん
513デフォルトの名無しさん:2012/10/25(木) 09:31:25.96
> (){}.loop(10)とか({}).loop(10)なら行けるってのが悔しいな
JavaScriptでの関数宣言と関数式の区別みたいな感じか
514デフォルトの名無しさん:2012/10/26(金) 23:03:57.04
>>510 こんな感じですかね。
http://dpaste.dzfl.pl/0e0321dc

D言語に、できない事は無かった。
515デフォルトの名無しさん:2012/10/26(金) 23:49:17.47
エラー出て見られぬ?
516デフォルトの名無しさん:2012/10/27(土) 00:17:52.89
>>515
スイマセン。ログインしたままだった。
http://dpaste.dzfl.pl/2c051eab

以下ソースです。
import std.stdio;
void loop(lazy void dg, int n) { while(n--) { dg(); } }
void main(){
write('D').loop(10);
}
517516:2012/10/27(土) 01:09:37.78
n.times(func); のバージョン
http://dpaste.dzfl.pl/0e0321dc

以下ソースです。
import std.stdio;
void times(int n, lazy void dg) { while(n--){ dg(); } }

void main(){
10.times('D'.write);
}
518デフォルトの名無しさん:2012/10/27(土) 01:17:41.37
>>516
いや、それが動くのは当然だけど今そういう話をしているんじゃなくて
{write('D');}.loop();
が動かなくて悲しいですねって話をしているんだが。
519デフォルトの名無しさん:2012/10/27(土) 12:50:29.58
http://dpaste.dzfl.pl/6d26f7dc
dot演算子にこだわらなけらば,こんなんでも.
後置ができそうで出来ないんだよなぁ
520デフォルトの名無しさん:2012/10/27(土) 13:40:26.88
521デフォルトの名無しさん:2012/10/27(土) 13:55:45.56
>>519
変態!変態!(ry
522デフォルトの名無しさん:2012/10/27(土) 20:05:34.68
blazeあきらめて,chipmunkをDで動かしてみてる.
上手くいきそうだけど,なぜか円の二次極モーメントを求めるときにNANを吐きだされる.
どっちかっていうとDLL化時点での問題な気もするけど・・・BOXなら問題ないからなんでだろうなぁ
523デフォルトの名無しさん:2012/10/27(土) 20:28:41.12
>>519
あまりの気持ち悪さに爆笑したww
524デフォルトの名無しさん:2012/10/27(土) 20:39:42.23
Dは一体どこへ行こうとしているのだろうか・・・
525デフォルトの名無しさん:2012/10/27(土) 20:44:28.45
Lispの闇に光を・・・。
526デフォルトの名無しさん:2012/10/27(土) 20:46:59.48
北へ10。
南へ半径5の弧を描きつつ10。
527デフォルトの名無しさん:2012/10/27(土) 22:07:19.21
chipmunk MITライセンスか うむむ
528デフォルトの名無しさん:2012/10/27(土) 22:11:46.69
かなり緩くない?>MIT
あんまり利用を躊躇わなくていいライセンスだと思うけど
529デフォルトの名無しさん:2012/10/27(土) 22:56:42.29
著作権表示等が必須ってところがちょっとな
○○しないとだめって制限を設けているところにがっかりする
シェアウェアはたとえ価格が1円だとしても
支払いという行為が発生することに対してのめんどくささに似てるわけね
530デフォルトの名無しさん:2012/10/27(土) 23:43:50.88
あっれー? Error: undefined identifier WIN32_FILE_ATTRIBUTE_DATA
531デフォルトの名無しさん:2012/10/28(日) 01:56:27.93
chipmunkとりあえずhelloworld相当は動いた報告
532デフォルトの名無しさん:2012/10/28(日) 05:58:41.31
http://dpaste.dzfl.pl/cc2e1613
応用したら気持ち悪いコードができたよー^p^
533デフォルトの名無しさん:2012/10/28(日) 06:43:44.24
気持ち悪いのはいいんだけど、なんか演算子オーバーロード使うと急にDというよりC++っぽくなるな
534デフォルトの名無しさん:2012/10/28(日) 18:46:14.68
>>529
それはちょっと横着過ぎるぞw
MITライセンスの著作権表示義務ってゲームの起動ロゴみたいな鬱陶しいもんじゃなくて
ライセンステキストファイルを同梱したりhelp:aboutに追記する程度だし
535デフォルトの名無しさん:2012/10/28(日) 18:53:50.28
例えNYSLであっても、〜を使いましたぐらいはどっかに書くだろう。
BSDLやMITの場合は、その時に著作権表示をコピペしてくるだけだ。
536デフォルトの名無しさん:2012/10/28(日) 19:11:20.81
そのくらい軽いライセンスでも、10個とか20個とか使うことになると
記載漏れの心配とかで面倒になってくるかもしれん
やがてアレルギーに…
537デフォルトの名無しさん:2012/10/28(日) 19:16:28.41
なら自作しろ
538デフォルトの名無しさん:2012/10/28(日) 19:29:24.50
無保証なのに名前を書かせる意味が分からない
ソースだけならまだ分かるがバイナリにまで感染する意味が分からない
539デフォルトの名無しさん:2012/10/28(日) 19:34:17.27
何だこいつ…
540デフォルトの名無しさん:2012/10/28(日) 19:45:04.82
単に、自分が作ったんじゃないのに自作だと偽るのに使うのはダメってだけの話じゃね、基本的には
ここらへんはD言語と関係ない話になるか
541デフォルトの名無しさん:2012/10/28(日) 20:39:23.00
これってDで書き直したらどうなるの
CだとDLLとかあるけどDで書き直したら使っているかどうかって判断出来なくね?
しれっと自分で開発しましたって言っちゃえるの
542デフォルトの名無しさん:2012/10/28(日) 21:02:09.53
知識が足りないッ
543デフォルトの名無しさん:2012/10/28(日) 23:06:27.31
DもDLLあるよー><
544デフォルトの名無しさん:2012/10/29(月) 03:47:41.19
言い方が悪かった.
MITライセンスのCのライブラリをDで書き直して自作プログラムに無断で組み込んでも,著作権表記しないといけないの? ってこと.
外部にDLLとかが出ないから書かなくても気づかれようがないとおもうんだけど
545デフォルトの名無しさん:2012/10/29(月) 04:51:55.83
倫理的な話も含めて続きはライセンスのスレ行ってくれ
546デフォルトの名無しさん:2012/10/29(月) 06:15:32.19
著作権侵害前提で話を進めるとかね
547デフォルトの名無しさん:2012/11/01(木) 00:40:16.44
>532 みたいなmap関数って演算子オーバーロードなしで作れない?
デフォのはrange絡んでいやなんだけど
548デフォルトの名無しさん:2012/11/01(木) 00:53:06.64
>>547
遅延実行じゃないmapっていう意味なら別に何の工夫もいらずできるけど、
そもそもなんでrangeが嫌かわからん。
549デフォルトの名無しさん:2012/11/01(木) 22:30:45.72
rangeなしにD言語は語れない
550デフォルトの名無しさん:2012/11/01(木) 22:39:51.68
プの字も知らん俺にプログラムの何たるかを教えてくれ
551デフォルトの名無しさん:2012/11/01(木) 22:44:54.12
nullぶっこんでコンパイルする勇気
552デフォルトの名無しさん:2012/11/04(日) 15:56:06.63
DでLINQはよはよ
553デフォルトの名無しさん:2012/11/04(日) 18:06:53.80
配列をリターンしたら似たようなことできなかったっけ??
554デフォルトの名無しさん:2012/11/05(月) 04:34:36.01
その手の話って大抵過去スレで出てるよな

D言語 Part22
http://pc12.2ch.net/test/read.cgi/tech/1245602321/331-
555デフォルトの名無しさん:2012/11/06(火) 00:33:03.88
ウラル貼られても過去スレって見れないよな
556デフォルトの名無しさん:2012/11/06(火) 00:43:28.14
情弱
557デフォルトの名無しさん:2012/11/07(水) 08:37:24.10
558デフォルトの名無しさん:2012/11/07(水) 16:08:42.99
新たなる黒魔術の誕生か・・・
さっぱり用法を思いつかんあたり本物だわ
559デフォルトの名無しさん:2012/11/07(水) 16:58:15.47
テンプレートに変数を渡すのが楽しくなりそうだな
560デフォルトの名無しさん:2012/11/07(水) 21:08:18.83
ドイツのPC雑誌に、D言語の記事が
載っているらしいのですが、知っている人いますか?
561デフォルトの名無しさん:2012/11/07(水) 21:48:08.15
ドイツ語でおk
562デフォルトの名無しさん:2012/11/07(水) 22:40:13.04
D言語完璧初心者なんだけど、質問スレがなかったのでここに

writeflnの第一引数を加工する(文頭と文末に "!" 付けるとか)だけの
関数を作りたいんだけど、可変長引数の扱いがいまいちよくわからなくて困ってる
タプルそのままwriteflnに渡せたら楽だと思うんだけど
公式見ても「可変長引数をそのまま foreach できるよ」とのみ

1,2行でD言語っぽく書くならどんな感じ?
563デフォルトの名無しさん:2012/11/07(水) 23:08:48.05
import std.stdio;
void f(Args...)(Args a){
a[0] *= 10;
writeln(a);
}
void main(){
f(1, 2, 3);
}
⇒1023
564デフォルトの名無しさん:2012/11/07(水) 23:17:05.98
>タプルそのままwriteflnに渡せたら楽だと思うんだけど

なぜ試さないんだ...
565デフォルトの名無しさん:2012/11/07(水) 23:18:30.41
toとかwritelnとかは何がどこまでできるかわけがわからなくて実にDらしい
566デフォルトの名無しさん:2012/11/08(木) 00:34:43.67
>>563
ありがとう!
writefln(a[0], a[1..$]);
とかアホやってたよ…助かった
Rubyの*argsに慣れ過ぎた

>>564
タプル≒immutable-listって認識があって
ガチ「そのまま」だとは思わなかったんだ…
567デフォルトの名無しさん:2012/11/08(木) 01:31:00.00
むりむりむりむりかたつむり!
568デフォルトの名無しさん:2012/11/08(木) 10:14:41.76
>>555
http://pc12.2ch.net/test/read.cgi/tech/1245602321/331-
にある1245602321をスレキーというそうだ。
Googleでスレキーを検索してみる。
http://logsoku.com/thread/pc12.2ch.net/tech/1245602321/
812 までならみえる。
2009/08/29 22:27:39
569デフォルトの名無しさん:2012/11/11(日) 02:03:11.61
最近ECMAScriptが開発効率的にD言語より萌え言語だということを知って辛い
570デフォルトの名無しさん:2012/11/11(日) 08:29:37.20
スクリプト言語である時点で比較対象にならないだろ
571デフォルトの名無しさん:2012/11/11(日) 09:19:45.42
ここのMono-Dって使ってみた人いる?
http://mono-d.alexanderbothe.com/
どんな感じか聞きたいんだが
572デフォルトの名無しさん:2012/11/11(日) 10:53:21.94
>>571
おととい入れてみたけどかなりいい
コード補完がちゃんと働いてくれるvisualDって感じかな
573デフォルトの名無しさん:2012/11/11(日) 17:43:55.56
プリコンパイラが甘いというか無いんだよなぁ
動的にコードがかければスクリプト言語に匹敵するんだが
574デフォルトの名無しさん:2012/11/11(日) 17:59:59.05
お通夜会場はここですか?
575デフォルトの名無しさん:2012/11/11(日) 18:04:21.31
IDEは邪道
576デフォルトの名無しさん:2012/11/11(日) 18:14:54.01
>>574
なんかあったの?D2の仕様が固定されたとか?
577デフォルトの名無しさん:2012/11/11(日) 18:44:58.91
>>573
CTFEとmixinでがんばれ
578デフォルトの名無しさん:2012/11/11(日) 22:54:02.08
>>572
うお、マジかー。
入れんのめんどそうで躊躇ってたが試してみるわthx
579デフォルトの名無しさん:2012/11/11(日) 23:17:03.32
最近 D を始めたんだが、extern(C) で D で書いた関数を簡単に C から呼べるんだな。

これはなかなか便利そうだ。
580デフォルトの名無しさん:2012/11/12(月) 12:14:48.62
>>569
もう少し使い比べてみ。
・・・動的型付け言語が、開発支援ツールの支援を受けにくいことに嫌気が差してくるから。
581デフォルトの名無しさん:2012/11/13(火) 00:22:45.04
動的型付け言語は所詮「スクリプト」言語だしな
書き捨てるもの
582デフォルトの名無しさん:2012/11/13(火) 06:58:27.06
スクリプトは速記体ではありませんかー
583デフォルトの名無しさん:2012/11/15(木) 21:21:02.07
https://github.com/youkei/ctpg
これってつまりD言語内で動くスクリプト言語自作出来ちゃうってことなの
584デフォルトの名無しさん:2012/11/15(木) 23:20:20.83
enumってなんなん?って概念崩壊してきた
585デフォルトの名無しさん:2012/11/15(木) 23:25:40.54
迷走し過ぎじゃねー
586デフォルトの名無しさん:2012/11/15(木) 23:32:53.66
enumは列挙型だよ(震え声)
587デフォルトの名無しさん:2012/11/15(木) 23:35:44.71
処理を列挙するんですね
588片山博文MZボット ◆0lBZNi.Q7evd :2012/11/16(金) 13:08:19.53
>>583 いいね!
589デフォルトの名無しさん:2012/11/16(金) 15:51:13.01
>>583
俺にはJSONと何が違うのかさっぱり分からないが。
590デフォルトの名無しさん:2012/11/16(金) 17:13:54.14
じぇーそん…?
591デフォルトの名無しさん:2012/11/16(金) 18:02:33.76
C++のboost::spiritみたいなのでしょ
なんでJSON?
592デフォルトの名無しさん:2012/11/16(金) 18:40:28.98
これがJSONに見える頭ならD言語はC++に見えるのでは
593デフォルトの名無しさん:2012/11/16(金) 18:52:28.71
俺は車輪の再発明しなくてもluaでいいと思う
594デフォルトの名無しさん:2012/11/16(金) 18:55:27.90
さっきから何言ってんのあんた。
595594:2012/11/16(金) 18:56:06.37
誤爆ゥ
596デフォルトの名無しさん:2012/11/16(金) 19:46:54.09
どれが誤爆かわからない
597デフォルトの名無しさん:2012/11/16(金) 19:48:39.25
すげえ流れ的に自然な誤爆ww
598デフォルトの名無しさん:2012/11/16(金) 20:30:34.18
589=誤爆しか考えられないだろJK
599デフォルトの名無しさん:2012/11/16(金) 21:37:56.49
>598
安価も内容も不自然でない誤爆か
600デフォルトの名無しさん:2012/11/16(金) 23:15:30.84
不自然です
601デフォルトの名無しさん:2012/11/16(金) 23:38:30.54
おおっと、JSONは完全に俺の勘違いだわw

・・・ただ、今度は正規表現と何が違うのか分からなくなったが。
602デフォルトの名無しさん:2012/11/16(金) 23:42:11.52
正規表現やJSON とか言う言葉を知ったばかりの子供かい?
603デフォルトの名無しさん:2012/11/17(土) 00:00:02.93
正規表現とはひどい
604デフォルトの名無しさん:2012/11/17(土) 00:02:52.41
>>602
馬鹿にするんだったら教えてちょ。
605デフォルトの名無しさん:2012/11/17(土) 00:05:46.46
PC初心者スレ辺りへ行って、検索サイトの開き方でも聞いてみては。
606デフォルトの名無しさん:2012/11/17(土) 00:06:11.01
簡単な例では、ネストした括弧は正規表現で処理できない。

お前頭悪すぎるからもう黙れ。
607デフォルトの名無しさん:2012/11/17(土) 00:08:58.95
D言語自体をスクリプト言語として使えればいいのに
DonD
608デフォルトの名無しさん:2012/11/17(土) 00:16:50.60
>>605
サンプル見たほうが早かった。

>>606
正規表現よりは自由度があるのは分かったけど、結局どこまで出来るのかよくわからない。
609デフォルトの名無しさん:2012/11/17(土) 00:19:09.58
D言語でD言語が作れる
610デフォルトの名無しさん:2012/11/17(土) 00:37:30.70
BNFは学校で習うしアルゴリズム本には大抵載ってるのに・・・
611デフォルトの名無しさん:2012/11/17(土) 03:21:54.44
馬鹿にされて悔しいから結局自分で調べた。

・指定した型の値を含むParseResult構造体を返すパーサーを生成するらしい。
・型はDで定義されている型で配列やタプルも指定できる。
・構造体やクラスを指定できるかはわからない。
・構文木を生成できるかはよくわからない。(タプルを指定できるからできるのかな)

結局眠くて、中途半端な調べ方である。
612デフォルトの名無しさん:2012/11/17(土) 14:44:08.48
クラスインスタンスに動的にメンバ関数/変数を追加できますか
613デフォルトの名無しさん:2012/11/17(土) 15:56:30.08
無理と言いたいができそうなのが怖い
無理だよね?
614デフォルトの名無しさん:2012/11/17(土) 16:09:34.34
opDispatch
615デフォルトの名無しさん:2012/11/17(土) 17:55:29.14
まんま>>390あたりの話だな
616デフォルトの名無しさん:2012/11/17(土) 18:08:02.72
dpaste.dzfl.pl/bad939aa
どこまでやりたいかがわかればな
617デフォルトの名無しさん:2012/11/17(土) 22:06:53.24
呼ぶ方も動的にできないと価値ないだろ
opDispatchだと無理…だよね?
618デフォルトの名無しさん:2012/11/17(土) 22:16:34.55
なんでちょっと不安そうなんだよww
619デフォルトの名無しさん:2012/11/17(土) 23:26:53.42
インスタンスを連想配列のキーにしてそれに対して関数名→デリゲートの連想配列を作ればいい
と思ってやってみたけど1分で他の誰かがやるだろうと思って手を止めたわ
あと、クラスのメンバにどうアクセスするかとかその辺はtraitsで出来そうな気がしなくも・・・
620デフォルトの名無しさん:2012/11/17(土) 23:28:03.65
あ、インスタンスポインタ(void*)ね、
621デフォルトの名無しさん:2012/11/18(日) 00:00:06.28
そこまで不便だとやれないと言ったほうがよさそう
622デフォルトの名無しさん:2012/11/18(日) 00:30:49.92
いや、phobosの実装とかみんなそんな魔術じみた感じだし
623デフォルトの名無しさん:2012/11/18(日) 01:44:50.49
というか動的にメンバ関数追加って何に使うの?
624デフォルトの名無しさん:2012/11/18(日) 02:32:41.76
識別子でアクセスせんと破綻するしね。
625デフォルトの名無しさん:2012/11/18(日) 02:38:39.06
もう元クラスを継承した無名クラスのインスタンスで良いじゃない
626デフォルトの名無しさん:2012/11/18(日) 02:42:32.77
opDispatchでメンバ変数をいじ・・・れないよな

>>625
普段無名クラスばっか使ってるのにその発想はなかった逆に
627デフォルトの名無しさん:2012/11/18(日) 09:28:07.48
>>623
スクリプト言語とのブリッジオブジェクトとか…

xcodeみたいな開発環境で、イベントハンドラのセレクタが
設計時にも存在しているように見せかけるとか…
628デフォルトの名無しさん:2012/11/18(日) 13:23:59.96
原理的に無理があるような気がするなぁ

きっと無理があると思う

無理があるんじゃないかな
629デフォルトの名無しさん:2012/11/18(日) 15:07:43.22
>>627
そういうことをしたいなら、opDispatchを抜きにして
Objective C(のオブジェクト部分)やECMAScriptの
エンジン部分に相当するクラスを先に書くべき。

スクリプト言語とのブリッジオブジェクトであれば
bridge_obj.call("funcName", [arg1, arg2]);
みたいな形式で書けるようにして。

一通り機能が満足したら
alias thisやopDispatchを使って記法を整えればいい。
630デフォルトの名無しさん:2012/11/18(日) 18:01:20.71
あればあったで便利なのにやたら否定したがる人っているよね
631デフォルトの名無しさん:2012/11/18(日) 18:05:46.49
欲しい欲しくないの話をしてるんじゃないから
現行機能でできるできないの話をしているから
632デフォルトの名無しさん:2012/11/18(日) 18:09:31.14
ダックタイピングを可能にすると
処理機構の分だけ重くなるのと
静的型がもつ利点が消される(>>400)ので
組み込みにしないのは正解
633デフォルトの名無しさん:2012/11/18(日) 18:11:39.78
話の流れ理解してねえな
634デフォルトの名無しさん:2012/11/18(日) 21:18:43.95
Variantさん使ってあげて
http://dpaste.dzfl.pl/1410a950
635デフォルトの名無しさん:2012/11/18(日) 21:42:29.82
ほほう
636デフォルトの名無しさん:2012/11/19(月) 05:55:58.83
Variant使わずに>>393っぽいの作ってみたがとても残念な感じに
http://dpaste.dzfl.pl/676e7735
637デフォルトの名無しさん:2012/11/19(月) 18:00:06.30
話ぶった切って申し訳ないが
http://dpaste.dzfl.pl/80a1d6d5
これなんでloop2のほうがloopより実行時間短いんだろう? stopwatchの使い方がおかしい?
638デフォルトの名無しさん:2012/11/19(月) 18:06:01.38
同じコードを何度も実行するloop2のほうが分岐予測が効くとか
コードサイズの小さいloop2のほうがキャッシュに乗るとか
理由はつけられると思うけど
639デフォルトの名無しさん:2012/11/19(月) 22:42:10.38
あせんぶり出力するんだ
640デフォルトの名無しさん:2012/11/20(火) 08:17:56.73
ぐぬぬtemplateだけでforeachを任意個ならべてループをさせようとしたけど出来ない
641デフォルトの名無しさん:2012/11/20(火) 11:04:05.18
なぜD言語関係者は黒魔術に凝るのか

そこまで凝るならメモリ管理に黒魔術使おうと考えなさいよ
642デフォルトの名無しさん:2012/11/20(火) 15:43:10.23
643デフォルトの名無しさん:2012/11/20(火) 19:25:13.88
644デフォルトの名無しさん:2012/11/20(火) 22:47:16.61
つ GC
645デフォルトの名無しさん:2012/11/23(金) 23:24:37.13
2.061まだー?
646デフォルトの名無しさん:2012/11/24(土) 11:01:27.55
動的配列から条件に合った要素を一気に削除する方法ありますか?

filterで出来るかと思ったのですが、
filterの戻り値はFilterResultなので下の様にはできませんでした。

import std.algorithm;
void main(){
int[] a = [1, 2, 3, 4, 5];
a = a.filter!"a % 2"; // コンパイルエラー
}
647デフォルトの名無しさん:2012/11/24(土) 11:38:23.57
import std.algorithm;
void main(){
int[] a = [1, 2, 3, 4, 5];
a = remove!("a % 2 == 0")(a);
}
648デフォルトの名無しさん:2012/11/24(土) 11:48:38.28
>>647
ああ・・・公式のphobosリファレンスでremoveのジャンプ先が正しく設定されていなかったのか・・・
thx!
649デフォルトの名無しさん:2012/11/25(日) 19:36:40.41
ゲーム作ってる人がいたら聞きたいんだけど
シューティングとか大量にオブジェクトが出てくる場合やっぱりGCの影響って出てきちゃうのかな
最初にメモリ確保して使いまわしするほうがいいのかな
650デフォルトの名無しさん:2012/11/25(日) 20:01:28.06
影響でまくりカクカクするよ

1.昔ながらの方法ならそれ オブジェクト数に制限できちゃうけど設計時にキャラの総数は高々いくつまでと決めとけば問題ない
2.フリーリスト 足りなくなったらnewするけど不要になったら未使用リンクリストにつなぐからGC動かなくてうめえ
651デフォルトの名無しさん:2012/11/25(日) 20:12:55.13
フリーリストでもGC止めとかないと、解放こそされなくても
参照されてないオブジェクトが存在しない確認のためにGCそのものは動くんじゃなかろうか
652デフォルトの名無しさん:2012/11/25(日) 20:24:25.74
動くね
core.memory.GC.disable()推奨

あと連想配列の内容参照するだけでもメモリ確保されるから相当慎重にしないと
653デフォルトの名無しさん:2012/11/25(日) 21:01:11.23
Appenderの使い回しとかmalloc/freeとかしまくってます
654デフォルトの名無しさん:2012/11/25(日) 21:58:48.22
あんまり気にし出すと今度はmalloc/freeだらけになって
C++でnew/deleteした方が楽じゃね?ってなるから困る
655デフォルトの名無しさん:2012/11/26(月) 02:26:35.55
あれ? newしてcore.memory.GC.disable()って出来ないの
656デフォルトの名無しさん:2012/11/26(月) 15:37:41.51
gcstubって駄目なんだっけ?
657デフォルトの名無しさん:2012/11/27(火) 03:35:46.96
Optlinkの代替リンカ書いてるけどdmdが吐くOMFが糞過ぎる
dmdバックエンドから色々しないと64bitPE作れないぞコレ
658デフォルトの名無しさん:2012/11/27(火) 05:27:15.16
Dはオワコン
659デフォルトの名無しさん:2012/11/27(火) 06:39:11.70
いつ始まったんだ
660デフォルトの名無しさん:2012/11/27(火) 10:22:19.73
Dは体質が日本の政治家と同じ
根本の問題をいつまで経っても後回しにして
目先の破壊的変更ばっかり
こんなんだからみんな呆れて違う言語を設計されちゃったりするんだよ
ウォルマートは一度修行して出直してこいや
661デフォルトの名無しさん:2012/11/27(火) 11:20:52.54
ウォルマートは、世界最大のスーパーマーケットチェーンです
662デフォルトの名無しさん:2012/11/27(火) 19:49:41.99
今の政治程度で破壊的変更て
日本沈没くらいやってから出なおしてこいや
663デフォルトの名無しさん:2012/11/28(水) 00:13:38.71
opDispatch使うとメンバ関数をタイポしたときなんかよく分からないコンパイルエラーメッセージが出て部屋の隅でふるえる
664デフォルトの名無しさん:2012/11/28(水) 23:40:30.45
Dさん動かしたひとはもう見てないのかな
665デフォルトの名無しさん:2012/11/28(水) 23:51:19.73
>>664
なんかゲームとかつくってないのかなぁ。
当たり判定まで出来てたから、そこからが楽しいところだと思うんだけど。

ほぼ当たり判定のみでできるものって結構多いよね。
格闘ゲームとか、シューティングとか、横スクロールアクションとか。えーっと、えーっと・・・。
666デフォルトの名無しさん:2012/11/29(木) 00:29:54.23
TEA TIMEのエロゲとかとか
667デフォルトの名無しさん:2012/11/29(木) 04:38:36.33
D言語マスコットキャラクター
http://www1.axfc.net/uploader/so/2694891.jpg
668デフォルトの名無しさん:2012/11/29(木) 10:37:16.04
669デフォルトの名無しさん:2012/11/29(木) 10:46:41.83
足のせいでPに見える
670デフォルトの名無しさん:2012/11/29(木) 10:46:45.81
pixivで募集すればもっとまともなの考えてもらえるだろ
671デフォルトの名無しさん:2012/11/29(木) 11:03:16.43
>>669
全く同意
672デフォルトの名無しさん:2012/11/29(木) 12:50:36.10
673デフォルトの名無しさん:2012/11/29(木) 13:08:56.54
674デフォルトの名無しさん:2012/11/29(木) 13:21:30.21
675デフォルトの名無しさん:2012/11/29(木) 17:05:19.82
本体は>>673をベースにするほうがいいと思うぞ
676デフォルトの名無しさん:2012/11/29(木) 17:38:18.71
慣れなのか>>673のコイツはもう可愛く見えるようになってしまった
677デフォルトの名無しさん:2012/11/29(木) 22:37:52.49
678デフォルトの名無しさん:2012/11/29(木) 23:13:32.63
>>677
冬コミ受かってたけどハルヒやめてD言語のエロ本出すわ
679デフォルトの名無しさん:2012/11/29(木) 23:31:02.63
1〜2日目なら行くわ!
680デフォルトの名無しさん:2012/11/29(木) 23:52:57.22
>>677
なにこの謎ポーズ?
と思ったが>>673のこいつの手の格好をまねてる形なのか……。
ならせっかくだから他も真似して、がに股でアヘg(ry
681デフォルトの名無しさん:2012/12/01(土) 10:32:00.60
なぜエラーなんですか?
template T(alias tt){
const char[] T = typeid(tt).to!string ~ " a;";
}
void main(){
mixin(T!(int));// Error: template instance T!(int) T!(int) does not match template declaration T(alias tt)
}
682デフォルトの名無しさん:2012/12/01(土) 11:15:32.72
自己解決しました。型をパラメータに渡したい場合はC++と同じでいいんですね。難しく考えてました。
683デフォルトの名無しさん:2012/12/02(日) 01:48:32.25
std.algorithmとかでテンプレートパラメータのラムダ式を文字列で渡すとこあるけど
みんなは""とq{}どっち使ってる?
今""を全部q{}に書き換えてたんだけどq{}使ってもVisualDの支援受けられないからタイプ数増えるだけで利点あるのかという点に気付いた…
684デフォルトの名無しさん:2012/12/02(日) 07:27:02.19
他のエディタだけど、q{}の中身もカラーリングさせて使ってる
685デフォルトの名無しさん:2012/12/02(日) 07:54:06.44
monoDなら支援受けれるぞ
686デフォルトの名無しさん:2012/12/02(日) 11:12:14.26
支援も何も全部メモ帳でガリガリ書いてるわ
687デフォルトの名無しさん:2012/12/02(日) 11:38:50.63
せめてサクラエディタで・・・

ところでSTLのtransformにあたるアルゴリズムありますか?
mapはもとのrangeを書き換えないので
688デフォルトの名無しさん:2012/12/02(日) 12:05:41.57
>>687
これでどうだろ?
http://dpaste.dzfl.pl/09947aca

notepad++かSublime Text2おすすめ
689デフォルトの名無しさん:2012/12/02(日) 22:48:59.69
>>688
分かりました。phobosにないということが・・・
690デフォルトの名無しさん:2012/12/02(日) 23:52:14.28
あってもよさそうな気がするけどね。なんか理由があるんだろうか
まあ素直にforeachでループ回せって話ではあるけど。
691デフォルトの名無しさん:2012/12/03(月) 00:47:01.26
std.algorithmはモナド的なのだから副作用はいらんぜよなのでは
692デフォルトの名無しさん:2012/12/03(月) 00:47:38.56
D言語も純粋関数型言語化しようぜ
693デフォルトの名無しさん:2012/12/03(月) 01:05:26.87
よろしい。ならば破壊的変更だ。
694デフォルトの名無しさん:2012/12/03(月) 01:14:23.43
ならば我らは、諸君と私で百万と一人のD言語erと…
695デフォルトの名無しさん:2012/12/03(月) 11:00:41.45
@property uint count() const { return set.fd_count; }
ここでのconstって何なんでしょうか?
696デフォルトの名無しさん:2012/12/03(月) 11:08:29.36
変数を変更しない関数の意味
697デフォルトの名無しさん:2012/12/03(月) 12:16:24.87
ありがとう
代入しようとするとコンパイルエラーになるようですね
698デフォルトの名無しさん:2012/12/03(月) 12:20:50.10
クラスのメンバ変数に全部疑似的にconstが付いてると思えばいい
何でわざわざ縛りプレイするのが好きなのかって?
最適化装置はマゾに優しくできてんだよ。あいつはドSだからな。
699デフォルトの名無しさん:2012/12/04(火) 02:47:46.06
>>695
クラスのメンバ関数は隠し引数でthisを受け取っているようなもの
consメンバt関数では、その引数リストのthisにconst修飾子がついていると考えればいい

constオブジェクトに対してコールできるかどうかに違いが生まれる
700デフォルトの名無しさん:2012/12/04(火) 07:02:17.85
>>699
コーンスープを注文したのにコールスローサラダを持ってきたのはお前か!!このやろう!!!
701デフォルトの名無しさん:2012/12/04(火) 07:06:38.07
cons_member_t mem;
702デフォルトの名無しさん:2012/12/04(火) 21:29:27.36
VisualD 0.3.35
703デフォルトの名無しさん:2012/12/05(水) 00:42:41.00
remove!がコンパイルエラーになって一週間悩んでたんだけど
ふとstd.algorithm.remove!としたら通った
まさかと思ったけど案の定基底クラスでremove関数を定義しててまじへこんだ
俺の一週間…

↓このメッセージでわかるかーっ
Error: template instance remove!("a") remove is not a template declaration, it is a function
704デフォルトの名無しさん:2012/12/05(水) 11:44:01.71
いくらDたんでも英語読めないのを自分のせいにされたら困ると思うの
705ウォルター・ディズレーリ:2012/12/05(水) 15:48:38.72
ハハッ
706デフォルトの名無しさん:2012/12/05(水) 20:24:32.21
>>704
Dでコンパイルエラーが出たらまずコンパイラかphobosのバグを疑うだろ?
707デフォルトの名無しさん:2012/12/05(水) 20:40:47.02
>>706
ウォルターのバグ対処の遅さに憤りを覚えるのがまず先だ
708デフォルトの名無しさん:2012/12/05(水) 21:11:06.03
ウォルターなんてもうこの世界に居ないのに
どうしてみんなこの人の名前を出したがるんだろう
709デフォルトの名無しさん:2012/12/05(水) 21:18:14.03
ウォルターならさっき見かけたぞ。
ジョン・レノンと寿司食ってた。
710デフォルトの名無しさん:2012/12/06(木) 07:52:26.82
>>583面白そうだったから遊んでみようと思ったんだけど、
ドキュメントがまだ少ないのはしょうがないとしても
サンプルもそのままコンパイル通らないからどう遊べばいいかすらわからんなw
711デフォルトの名無しさん:2012/12/06(木) 08:11:45.46
>>710
D言語を駆使する者はだね
コンパイルが通るかどうかを問題にすることなんてないんだよ

肝心なのはその仕様が脳内で踊っているかどうかだよ
712710:2012/12/06(木) 08:19:35.73
と思ったらDMDのバージョン上げ忘れてただけだった
失礼しました
713デフォルトの名無しさん:2012/12/06(木) 08:20:22.73
Dの仕様はC/C++の欠点を補うと思っていた時期が私にもありました
いまはDそのものが欠点です
ネイティブ以外取り柄の無いDにはもう何の魅力も感じません
C/C++やってた方がましです
714デフォルトの名無しさん:2012/12/06(木) 09:33:37.02
↑コレなんかの改変コピペ?
715デフォルトの名無しさん:2012/12/06(木) 09:53:19.12
C/C++ で作った obj のリンクは出来るようになった?
716デフォルトの名無しさん:2012/12/06(木) 12:46:43.80
TかT[]を受け取ってそれを全部つなげたT[]を返すような関数ってどう書けばいいんだろう
TとT[]がどの順番で来るかわからないとかなったら無理?
717デフォルトの名無しさん:2012/12/06(木) 12:50:44.97
D言語に不可能はない
俺はプログラミング歴一ヶ月だから先達に任せる
718デフォルトの名無しさん:2012/12/06(木) 12:54:03.62
まあ引数に突っ込む前に全部 ~ でつなげればいいだけだな
719デフォルトの名無しさん:2012/12/06(木) 16:14:33.29
引数に突っ込むくらいなら
あそこに突っ込みたい
720デフォルトの名無しさん:2012/12/06(木) 20:56:37.94
>719
このひとが突っ込んで欲しいそうです
http://i.imgur.com/r60Xy.jpg
721デフォルトの名無しさん:2012/12/07(金) 13:35:04.67
グロ注意
722デフォルトの名無しさん:2012/12/07(金) 18:32:44.37
>>716
T[] args...でいけるかなあと思ったけど無理だったので普通に書いた
http://dpaste.dzfl.pl/69672673
723デフォルトの名無しさん:2012/12/08(土) 02:23:26.31
ゲーム作ろうぜ
724デフォルトの名無しさん:2012/12/08(土) 08:38:47.07
auto cat(T, Args ...)(T a, Args args) {
&nbsp;&nbsp;static if (Args.length == 0) {
&nbsp;&nbsp;&nbsp;&nbsp;static if (is(T[])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a;
&nbsp;&nbsp;&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return t ~ new T[0];
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;return a ~ cat(args);
&nbsp;&nbsp;}
}
725デフォルトの名無しさん:2012/12/08(土) 09:49:56.97
幸せは自分から歩いて行かなきゃ掴めないが不幸は向こうから突然問答無用でやって来やがるからな
726デフォルトの名無しさん:2012/12/08(土) 17:29:59.41
〆切は歩いてこない(けどマッハで走ってくる)
727デフォルトの名無しさん:2012/12/08(土) 18:00:44.09
>>720
すげえな…小6のおっぱいとは思えんw
728デフォルトの名無しさん:2012/12/08(土) 19:31:41.21
時期的にあれだろうと想像するけど>>720=727みたいなのみるとゴミのような人間て本当にいるんだなって実感する
729片山博文MZボット ◆0lBZNi.Q7evd :2012/12/09(日) 14:34:59.93
ctpgの使い方を文書化してくれたらWebMoney900円あげよう。
730デフォルトの名無しさん:2012/12/09(日) 15:11:49.03
お前なんで900円で上から目線なんだよ
731片山博文MZボット ◆0lBZNi.Q7evd :2012/12/09(日) 21:45:21.79
documentationがあったので前言を撤回する。
732デフォルトの名無しさん:2012/12/09(日) 22:02:54.36
うっせえハゲ
くんな
733デフォルトの名無しさん:2012/12/10(月) 20:59:57.22
片山サンは基地外だと思うの
734デフォルトの名無しさん:2012/12/10(月) 23:08:19.25
けんかはやめて。粘着されるよ。
735片山博文MZボット ◆0lBZNi.Q7evd :2012/12/11(火) 18:12:45.45
>>732 ハゲじゃないよふさふさだよ
736片山博文MZボット ◆0lBZNi.Q7evd :2012/12/12(水) 13:01:24.62
youkeiさん、見てるんだろ? パースがうまくいかない。助けてくれ。
http://codepad.org/pD23nV4s
737デフォルトの名無しさん:2012/12/12(水) 20:32:44.11
動作するミニマムコードを出してどこがだめかちゃんと明記しろよ
738デフォルトの名無しさん:2012/12/14(金) 02:06:59.20
derelict2をdsssなしでmakeするにはどうすればいいですか?
dmdのmakeを指定してみたら
Error on line 2: can't read makefile '../inc/_inc.mak'
739デフォルトの名無しさん:2012/12/14(金) 02:18:15.68
環境変数DCにdmdをセットすればいいみたいですね
どこにも書いてない・・・
740デフォルトの名無しさん:2012/12/15(土) 01:11:12.40
DreamCastにgamediskをセットすればいいみたいですね
741デフォルトの名無しさん:2012/12/15(土) 08:16:34.23
dmdに複数ソースを指定するときにソースの指定順序を変えるとこれがでるんだがなんだい
Assertion failure: '!vthis->csym' on line 727 in file 'glue.c'
742デフォルトの名無しさん:2012/12/15(土) 10:19:13.61
bugzilla 8071
743デフォルトの名無しさん:2012/12/15(土) 11:07:33.50
8720の方かな次バージョンで直ってくるのを待つしかないか
2.061マダー?
744デフォルトの名無しさん:2012/12/15(土) 11:52:04.17
2.055 2011/09/04
2.056 2011/10/26
2.057 2011/12/13
2.058 2012/02/14
2.059 2012/04/12
2.060 2012/08/02

リリース間隔が4ヶ月以上あくと流石に心配になってくるよね
745デフォルトの名無しさん:2012/12/15(土) 11:55:00.01
次でD1最後だから揉めてるのかな
746デフォルトの名無しさん:2012/12/15(土) 12:44:53.02
リリースしようぜっていう号令がかかったからそのうち出る
747デフォルトの名無しさん:2012/12/15(土) 13:16:11.02
久々に来たんだけどD3ってどんな感じになるん?
まぁD2もクロージャ導入された辺りが最後なんだけど…
748デフォルトの名無しさん:2012/12/15(土) 13:46:14.42
いやまだD2も@propertyとか@safeが全部なくなる変更来るぞ
749デフォルトの名無しさん:2012/12/16(日) 16:31:16.02
>>748
え、なにそれ
750デフォルトの名無しさん:2012/12/16(日) 23:48:24.57
kwsk

べ、別にカワサキって意味じゃないんだからね///
751デフォルトの名無しさん:2012/12/17(月) 01:56:23.14
User Defined Attribute
@つき属性のアイデアが中途半端だったのを焼き直した
でも俺はすんなり固まるとは信じないw
752デフォルトの名無しさん:2012/12/17(月) 17:38:16.67
信じないね
753デフォルトの名無しさん:2012/12/17(月) 20:47:08.53
>>748,751
UDAは定義に任意のコンパイル時値やシンボルを関連付けるためのもの。
@safeや@propertyを置き換える目的はない。
754デフォルトの名無しさん:2012/12/17(月) 20:50:06.53
確かC#にそういうのが実装されてたよな
755デフォルトの名無しさん:2012/12/18(火) 00:32:18.28
import std.stdio;

void f(C c, int n){writeln(n);}

class C{
void g(){this.f(10);}// (2)
}

void main(){
C c = new C;
c.g();
c.f(4);// (1)
}

(1).こっちは慣れてるけど
(2).これはちょっと感動した
だからどうっだってことないけど
756デフォルトの名無しさん:2012/12/18(火) 00:54:01.47
拡張メソッドまでいけるのか、ブラックホールだな。
757デフォルトの名無しさん:2012/12/19(水) 06:07:25.73
ブラックホールというより
アナルホールだろうね
758デフォルトの名無しさん:2012/12/20(木) 00:24:37.89
拡張メソッドというよりただの糖衣構文かな
759デフォルトの名無しさん:2012/12/21(金) 23:40:26.38
よし、流れ止まったからお題出すね。

D言語でamb出来る?
fiber使えば出来そうな気はする。
760デフォルトの名無しさん:2012/12/23(日) 13:40:09.58
最近いじり始めたが構造体のメンバをforeachで回せることを知って
D言語でなくては生きていけない体になってしまった
761デフォルトの名無しさん:2012/12/23(日) 16:08:44.65
foreach(c; cc){cc ~= c.children;}
気持ちはわかるが末尾追加は許してや
って毎度思うんだ
762デフォルトの名無しさん:2012/12/23(日) 16:17:47.69
foreach (v; r) でrが既に評価されてるから、末尾追加でメモリ配置し直されたら困るじゃん
763デフォルトの名無しさん:2012/12/23(日) 16:30:22.47
それをわかった上で末尾追加は挿入と違ってインデックスは狂わないから
再配置に対応してくれたらなっていう願望ね
764デフォルトの名無しさん:2012/12/23(日) 16:37:46.41
それは流石に・・・
765デフォルトの名無しさん:2012/12/23(日) 17:02:31.82
cc[] でいいんじゃないかなぁ
766デフォルトの名無しさん:2012/12/23(日) 20:33:44.01
>>760
これってどういう意味?
おいらには初耳だったんだけど
767デフォルトの名無しさん:2012/12/23(日) 21:33:13.42
tupleof か __traits(allMembers) かな?
768デフォルトの名無しさん:2012/12/24(月) 03:40:03.78
>>766
http://www.kmonos.net/alang/d/statement.html

>以下のプロパティの定義された構造体やクラスは レンジと呼ばれ、foreachでループすることが可能です:
レンジのプロパティプロパティ用途
.emptyもう要素がない時に true を返す
.frontレンジの最左端の要素を返す
.backレンジの最右端の要素を返す

foreach でのレンジの操作メソッド用途
.popFront()レンジの左端をひとつ右に動かす
.popBack()レンジの右端をひとつ左に動かす
769デフォルトの名無しさん:2012/12/24(月) 03:41:45.71
と思ったら全然違った。
よく読んでなかった><
770デフォルトの名無しさん:2012/12/24(月) 04:41:01.50
Rangeとか基本ぞ!
771デフォルトの名無しさん:2012/12/24(月) 04:51:06.46
らんげ!
772デフォルトの名無しさん:2012/12/24(月) 04:54:26.82
>>760がどんな変態実装してるか気になる
773デフォルトの名無しさん:2012/12/24(月) 12:21:20.12
どんな変態実装でも許容されるさ、そうD言語ならね。
774デフォルトの名無しさん:2012/12/24(月) 18:38:53.15
でもさすがにあれは無理でしょ?
775デフォルトの名無しさん:2012/12/24(月) 21:21:32.84
One more thing...
776デフォルトの名無しさん:2012/12/28(金) 00:57:28.22
std.regexのmatchの第一引数はregexじゃなくてstringなんだ!
777デフォルトの名無しさん:2012/12/28(金) 22:26:07.21
でっかいケロちゃんのはまだクロウカードだお
778デフォルトの名無しさん:2012/12/29(土) 01:25:10.62
折田(ウォルト)「苦労してます」
779デフォルトの名無しさん:2012/12/29(土) 11:19:29.70
へえ
780デフォルトの名無しさん:2012/12/29(土) 18:02:44.64
ウオルタ「俺、正直言語とか作るの向いてないのかも…」
781デフォルトの名無しさん:2012/12/29(土) 18:54:16.00
セイカイ
782デフォルトの名無しさん:2012/12/30(日) 11:11:29.51
すごい・・・、関数が第一級オブジェクトだからプログラムが全てmain関数の中で閉じて
スカイツリー級のmain関数が出来上がった!
環境を束縛するクロージャうめええええええ
783デフォルトの名無しさん:2012/12/30(日) 11:42:59.84
まさにそびえたつクソだ
784デフォルトの名無しさん:2012/12/30(日) 12:47:48.51
skyshit
785デフォルトの名無しさん:2012/12/30(日) 18:50:40.04
Is floating shit yours?
786デフォルトの名無しさん:2012/12/31(月) 19:45:21.24
D言語友の会は何処にありや?、 と全世界は知らんと欲す!
787デフォルトの名無しさん:2012/12/31(月) 19:49:22.02
鯖は生きてるみたいだから、メンテ中じゃない?
788デフォルトの名無しさん:2013/01/02(水) 17:18:52.08
const(char)* を返す関数があるんだけど、これをstringの変数には出来ない?

const(char)* arr = function1();
writeln(arr); // ← 実行結果は 1D90C90 が表示される。ポインタそのまま?
std.c.stdio.printf("%s\n", arr); // ← こっちは意図通りに文字列が表示される

function1()は元々C言語の関数で文字列を返すもの。
D言語から使えるようにするラッパーがあったので
今はそれで呼んでいます。

上記の arr をstring型の変数に変換する方法って無いですかね?
表示するだけならprintf()でいいのですが、
D言語の他の関数に渡せなくて困っています。
789デフォルトの名無しさん:2013/01/02(水) 17:39:36.75
import std.conv;
してから
arr.to!string();
790デフォルトの名無しさん:2013/01/02(水) 17:58:34.87
>>789
うおお、こんなことで良かったのか。
ありがとうございます。
791デフォルトの名無しさん:2013/01/02(水) 19:07:24.21
変態!
792デフォルトの名無しさん:2013/01/03(木) 03:21:20.38
toとconvはまごうことなき変態だった…ような
793 忍法帖【Lv=3,xxxP】(1+0:5) :2013/01/03(木) 04:44:28.79
arr.to!string();
arr.to!(string)();
to!(string)(arr);
to!string(arr);
のどれが一番読みやすいのか気になる。
794デフォルトの名無しさん:2013/01/03(木) 13:01:38.19
D 1.076 and 2.061 release
795デフォルトの名無しさん:2013/01/03(木) 14:27:14.59
at propertyを付けない関数はプロパティ形式で呼べなくするかもしれないからto!string(arr)がいいんじゃないか
796デフォルトの名無しさん:2013/01/03(木) 16:28:19.72
とうとうきたーーーーーーーーーー!!
797デフォルトの名無しさん:2013/01/03(木) 16:30:26.54
にゃにぃ
DConf 2013 is scheduled for May 1-3 in Menlo Park, California. Visit the conference website for more details including how to propose a session.
798デフォルトの名無しさん:2013/01/03(木) 16:38:42.88
うぉるたんとGoのマスコットの一致度
799デフォルトの名無しさん:2013/01/03(木) 17:32:44.53
>>798
なん…だと…?
800デフォルトの名無しさん:2013/01/04(金) 00:28:21.19
よし、コンパイル通らなくなってるな
プロジェクトを持てば持つほど熱くなる
801デフォルトの名無しさん:2013/01/04(金) 01:32:11.39
Winの64bitとかUserDefinedAttributeとかでかい機能追加があるのにChangeLogが見にくくてつらい
802デフォルトの名無しさん:2013/01/04(金) 01:51:35.17
override指定が必須になった?
803デフォルトの名無しさん:2013/01/04(金) 03:18:36.87
前から必須だったけどあるとしたらバグでところどころ抜けてたのを直した感じじゃない?
804片山博文MZボット ◆0lBZNi.Q7evd :2013/01/04(金) 20:09:30.51
ctpgのバグ発見。
assert(parse!root("123-123+123").value == 123);
addExpとmulExpを入れ替えると無限ループに陥るのを何とかしてほしい。
805デフォルトの名無しさん:2013/01/04(金) 20:21:21.53
ここで書かないで本人とこ行けよ
恥かしがり屋かよ
806デフォルトの名無しさん:2013/01/05(土) 17:36:58.62
2.062
807デフォルトの名無しさん:2013/01/05(土) 19:12:13.40
一体何が始まるんです?
808デフォルトの名無しさん:2013/01/05(土) 19:25:06.29
バグ修正
809デフォルトの名無しさん:2013/01/05(土) 19:25:46.40
2.061は使わないほうが良いってこと?
810デフォルトの名無しさん:2013/01/05(土) 21:09:14.14
changelogにはあるけど
ダウンロードにはない

これがdmdクオリティ
811デフォルトの名無しさん:2013/01/06(日) 01:51:35.33
>>807
破壊的大変更だ
812デフォルトの名無しさん:2013/01/06(日) 01:54:57.03
破壊的でない変更なんて、何も変更しないのと同じ!
813デフォルトの名無しさん:2013/01/06(日) 02:07:03.11
changelogにリビジョン書き間違えてるんじゃなく?
814デフォルトの名無しさん:2013/01/06(日) 03:46:56.63
リビジョンじゃないよ
ウォルタ君的にはリビドーと表現するんだよ
そこんとこ間違わないでほしいな
815デフォルトの名無しさん:2013/01/06(日) 17:01:08.36
この最新版はあなたにはあげない
だってこのリビドーは私だけのものだもの
816デフォルトの名無しさん:2013/01/06(日) 19:03:43.67
DMD2.061のwin64コンパイルのためだけにVC買ってきた
VC\bin\amd64\link.exeが必要と気づくまでかなり時間がかかったぞヽ(`Д´)ノ
817デフォルトの名無しさん:2013/01/06(日) 19:09:37.70
gccでWin64向けにコンパイル出来る?
818デフォルトの名無しさん:2013/01/06(日) 19:09:49.13
買う?VC++ Express落とすだけだろ?
819デフォルトの名無しさん:2013/01/06(日) 19:19:22.81
>>816
いつもまず最初にsc.iniマージするからそのとき気付いたよ
820デフォルトの名無しさん:2013/01/06(日) 19:48:33.16
64bitにすればOPTLINKを使わなくていいですって?
神か
821デフォルトの名無しさん:2013/01/06(日) 20:56:20.82
>>818
リモートデバッガ付きの2012Professionalですが何か?
822デフォルトの名無しさん:2013/01/06(日) 21:11:34.31
今更かも知れませんがD1ってwriteln()無いんですか?
writefln()は使えるけど…
823デフォルトの名無しさん:2013/01/06(日) 21:32:42.45
printf
824デフォルトの名無しさん:2013/01/06(日) 21:34:29.86
リモートだなんていやらしいっ!
やめて!Dに乱暴する気でしょう?エロ同人みたいに!
825デフォルトの名無しさん:2013/01/06(日) 22:17:19.46
久々に使ってみたら、std.string.replaceがundefined identifier replaceとエラーが出てしまいました。
std.string.replaceは廃止されてしまったのでしょうか?
DMDの更新履歴にはそれらしき変更はない気がするのですが。
826デフォルトの名無しさん:2013/01/06(日) 22:24:13.71
それかなり前
std.array.replace
827デフォルトの名無しさん:2013/01/06(日) 22:47:07.44
DMD2.061でWin64コンパイルする方法キボン
828デフォルトの名無しさん:2013/01/06(日) 23:16:05.19
>>826
かなり前に変更されてましたか・・・。
文字列の置換えってよく使うし、検索と書き換えが一体になってて使いやすかったんだけどなぁ。
829デフォルトの名無しさん:2013/01/07(月) 00:33:19.68
いや、replaceの所属packegeがreplaceされただけだから
import std.array; すれば解決だよ?
830デフォルトの名無しさん:2013/01/07(月) 03:11:32.95
文字列は配列なので、配列に対しても適用できる文字列操作関数は配列操作関数に改められた。
831デフォルトの名無しさん:2013/01/07(月) 08:38:48.39
>>827
VC++のリンカ入れて
> dmd -m64 ソース.d
832デフォルトの名無しさん:2013/01/07(月) 13:25:24.73
>>817
objのフォーマットが違うから無理じゃね?
833デフォルトの名無しさん:2013/01/07(月) 13:32:06.90
gccじゃなくてbinutilsのldが解釈出来ればだな
MS形式のCOFF、OMFを解釈出来なかったはずだけど
834デフォルトの名無しさん:2013/01/07(月) 16:18:05.44
なんちゅう無駄遣い
それでもprofessionalか!
835デフォルトの名無しさん:2013/01/07(月) 20:09:10.60
binutilsはWindowsではCOFFだろ?
メタデータが全然違うから役に立たないけど
836デフォルトの名無しさん:2013/01/07(月) 21:36:19.84
COFFはGNU形式、MS形式とあるんじゃなかった?

まぁldならリンカースクリプト書けば何とかなりそうだけど
837デフォルトの名無しさん:2013/01/08(火) 00:28:53.22
>>834
お金の使い方がプロフェッショナルやな
838828:2013/01/08(火) 16:42:57.73
>>829
ああ、std.string.replaceが廃止されたんじゃなくて、
std.arrayに2種類のreplaceが実装されたという事でしたか。
839デフォルトの名無しさん:2013/01/08(火) 17:05:36.54
std.array へ引越して
std.string.replace は廃止
840デフォルトの名無しさん:2013/01/08(火) 19:44:32.41
文字列に使うことがほとんどだろうからindexOfみたいにalias置いてもいいと思うんだけどな
841デフォルトの名無しさん:2013/01/08(火) 19:59:54.07
std.stringはstd.arrayをpublic importしたほうがいいんじゃない?
842デフォルトの名無しさん:2013/01/09(水) 01:12:33.32
2.061になってcoffは吐けるわx86_64インラインアセンブラは使えるわで
mingw64版GDCはもういらない子だな
843デフォルトの名無しさん:2013/01/09(水) 02:23:36.85
COFFが吐けるからVC++用Libをそのまま使えるようになったって解釈でおk?
844デフォルトの名無しさん:2013/01/09(水) 02:38:30.53
>>843
むしろVCのkernel32.libがないと実行ファイル作れない
845デフォルトの名無しさん:2013/01/09(水) 02:41:23.61
>>844
それって64bitだけじゃなくて32bitでも?
最高じゃん
846デフォルトの名無しさん:2013/01/09(水) 02:58:12.60
>>845
-m32では相変わらずOMFとOptlinkです残念でしたー^q^
847デフォルトの名無しさん:2013/01/09(水) 02:59:10.10
わくわくしてVisualD経由で64bit版ビルドしようとしたら
phobos64.libとか要求されちゃったんだけど…
みんなどんな環境でどんなやり方すると正常にコンパイルできるの
848デフォルトの名無しさん:2013/01/09(水) 03:32:41.40
dmd2\windows\libにphobos64.lib入ってるじゃん
849デフォルトの名無しさん:2013/01/09(水) 04:29:44.87
ただの空main関数なのに107個くらいエラー出すんですけど
皆さんは何ともないですか?

phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol GetCommandLineW referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol CommandLineToArgvW referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol LocalFree referenced in function _d_run_main
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol IsDebuggerPresent referenced in function _d_run_main
LIBCMT.lib(a_map.obj) : error LNK2001: unresolved external symbol __imp_WideCharToMultiByte
LIBCMT.lib(a_loc.obj) : error LNK2001: unresolved external symbol __imp_WideCharToMultiByte
phobos64.lib(dmain2_4a8_47b.obj) : error LNK2019: unresolved external symbol __imp_WideCharToMultiByte referenced in function _d_run_main
850デフォルトの名無しさん:2013/01/09(水) 10:02:40.45
64bit版だけ何かおかしいのかこれは
851デフォルトの名無しさん:2013/01/09(水) 10:12:05.88
>>849
kernel32.libが見つからないんじゃね?
852デフォルトの名無しさん:2013/01/09(水) 10:39:41.01
sc.ini の設定内容と 環境変数と 実際のフォルダの中身をそれぞれ突き合わせて、
それでダメならあきらめれ
所詮α版程度って言ってるから自分で追究してバグレポ出す覚悟がないと意味ないべ
853デフォルトの名無しさん:2013/01/09(水) 11:52:03.42
>>849
未解決シンボルが全部windowsAPI(GetCommandLineWとかCommandLineToArgvW)だから
kernel32.libの64bit版とかが見つかってないだけ
これはDMDにくっついてきてないから、上にも書いてあるけどVCのを使う必要があり

sc.iniのLIBの先頭にVCのLibディレクトリへのPATHを追加すればおk
854デフォルトの名無しさん:2013/01/09(水) 15:31:07.99
暖かいレスどうもありがとうございます
phobos64.libをVCのlibフォルダに突っ込んでいたのですが
kernel32.libが見つからないとの書き込みを見て
phobos64.libをWindowsSDKに移動してみても変わらず。
あるのにおかしいな??と思っていたら
あ、libも32bit版と64bit版両方あったんだ!とそこで気づきまして
sc.iniを編集して
WindowsSdkDirとVCINSTALLDIRを[Enviroment]の上のほうに持って行ってパスを設定してあげて
LIB=%WindowsSdkDir%\Lib\x64;%VCINSTALLDIR%\lib;
こんな感じに変更したところ、うまくビルドできるようになりました。
dmd2\windows\lib64とかのフォルダを作ってphobos64.libとかを放り込んで
LIB="%@P%\..\lib64";≪上のパス≫;みたいにしたほうがいいのかもしれませんね
要するに、32bit版のlibを参照していてこのような状況になってしまっていたわけですね。
おかげさまで解決&無事動作確認できました。ありがとうございます。
ただ、これやると32bitではビルドできなくなるので、
元々の設定をLIB32みたいにして残しておいて必要に応じて元に戻す必要があるみたいですね。
(ここもLIB/LIB64とかで識別してくれるようになると便利な気がしますね)
855デフォルトの名無しさん:2013/01/09(水) 16:08:37.87
WindowsSdkDirとVCINSTALLDIRがきちんと設定されていれば
link.exeの引数として渡されるからLIBに設定する必要はない
逆に言うとLIBに設定しないと動かないならWindowsSdkDirとVCINSTALLDIRの設定が間違ってる
あと、この2つの環境変数は64bit版でしか参照されないから32bit版とも混ざらなくなる
この辺りの環境変数の使い方はdmd2/src/dmd/link.cを見ればすぐわかると思う
856デフォルトの名無しさん:2013/01/09(水) 16:16:48.00
D言語側で%WindowsSdkDir%、%VCINSTALLDIR%が動いてるってことは、
システム環境変数のLIBに%WindowsSdkDir%¥Lib¥x64;%VCINSTALLDIR%¥lib;が入ってないだけだと思う
857デフォルトの名無しさん:2013/01/09(水) 16:26:08.11
2つのディレクトリパス設定の末尾に\が無いと駄目なのはバグなのだろうか…

現状64bit版はテスト版みたいなもんだからね
参照するライブラリのパスとかもいじくれるように
そのうちまた仕様変わるんじゃないの
858デフォルトの名無しさん:2013/01/09(水) 16:39:11.45
>>856
わざわざ設定しなくても64bitビルドの時に勝手に足してくるはず
この辺の挙動はそのうち確かに変わりそうw
859デフォルトの名無しさん:2013/01/09(水) 16:48:56.03
omfマンドクセから解放されるぜー
860デフォルトの名無しさん:2013/01/09(水) 17:25:13.67
32bitでもリンカにvcの使うような設定増えないかな
861デフォルトの名無しさん:2013/01/09(水) 17:35:03.05
OpenWatcomのリンカ使ってみたらどうか
862デフォルトの名無しさん:2013/01/09(水) 20:22:10.50
optlink の代替と言ったらよく名前が挙がるのが
[unilink]
ftp://ftp.styx.cabel.net/pub/UniLink/
まともなWebサイトがないのが謎だがひっそりと更新もされている

ちなみに 32bitCOFF の要望は
うぉるたんに全力でお断りされていた
863デフォルトの名無しさん:2013/01/10(木) 07:11:41.96
昔フィルターとウォルター間違えて奴の口の中にCoffee豆入れたやつがいたろ
そいつを吊し上げろ!!
864デフォルトの名無しさん:2013/01/10(木) 21:14:21.21
お前らでペーパーウォルター3DってタイトルのゲームをD言語で作ろうぜ
865 忍法帖【Lv=4,xxxP】(1+0:5) :2013/01/10(木) 21:25:39.98
あとはまかせた。
866デフォルトの名無しさん:2013/01/10(木) 22:09:53.44
忍者きた
867デフォルトの名無しさん:2013/01/10(木) 23:12:21.44
>>864
敵が「バグ」で「アイディア」で回復。まで思いついた。
868デフォルトの名無しさん:2013/01/10(木) 23:36:38.36
バグは友達
869デフォルトの名無しさん:2013/01/11(金) 00:01:34.51
ファイナルファイトD
870デフォルトの名無しさん:2013/01/11(金) 00:59:33.26
unilinkをググってたら、ウォルたんがCOFFについて語ってるとこ見つけた
ttp://www.digitalmars.com/d/archives/digitalmars/D/Unilink_-_alternative_linker_for_win32_64_DMD_OMF_extensions_127630.html
MS-COFFのデバック情報に関する仕様が非公開だから、対応したくても出来ないってことなのかな
871デフォルトの名無しさん:2013/01/11(金) 01:43:01.03
配列とか連想配列とかフォーマット拡張してねじ込もうとしてるから
できないってのはあるかも知れない

まあ 俺としては OPTLINKから
Win9X時代の旧石器PCに最適化されたような設計を
排除してくれれば満足なんだが
872デフォルトの名無しさん:2013/01/11(金) 15:23:03.07
2.062の主な新機能
9224 Windows 64bitバイナリのコンパイル対応
VisualC の導入が必要
9222 User Defined Attribute
JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
警告/エラーをフラグ(-dw,-de)で選べるようになった。
   【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
代わりに行番号で場所がわかるように改善
873デフォルトの名無しさん:2013/01/11(金) 15:28:22.52
コレ以外にもtraitsの機能追加とかインラインアセンブラ/SIMDとか通好みの機能拡張がかなりあった

deprecated 周りが洗練されてくるあたりが D言語らしくて素晴らしい(棒
874デフォルトの名無しさん:2013/01/11(金) 19:30:25.33
>3011 構文追加 alias INT = int;
地味に嬉しいのう
でもそのうち廃止されそうな予感がしすぎる
875デフォルトの名無しさん:2013/01/11(金) 20:24:54.74
2.062.zipがどこにあるのかいまだにわからない
876デフォルトの名無しさん:2013/01/11(金) 21:13:20.68
UDAの面白い悪用法考えようぜ
877デフォルトの名無しさん:2013/01/11(金) 21:48:33.74
>>875
ソースコードならgithubにある
ttps://github.com/D-Programming-Language/dmd/
878デフォルトの名無しさん:2013/01/11(金) 22:07:03.90
>>876
偶数秒でしかコンパイルできないソース

でもCTFEできるか
879デフォルトの名無しさん:2013/01/11(金) 22:32:08.72
>>872
2.062じゃなくて2.061だ
Coming Soon! じゃないっての
誰か突っ込めよ
880デフォルトの名無しさん:2013/01/11(金) 22:48:21.89
いや、Change Logに2.062って書いてあるんだよ
アーカイブへのリンクも貼ってあるけどリンク切れになってる
881>>872 手直し:2013/01/11(金) 23:45:23.38
2.061の主な新機能(番号は Bugzilla のもの)
9224 Windows 64bitバイナリのコンパイル対応
VisualC の導入が必要
9222 User Defined Attribute
JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
警告/エラーをフラグ(-dw,-de)で選べるようになった。
【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
代わりに行番号で場所がわかるように改善

#もう一個追加
391 char配列の sort/reverse で UTF8のマルチバイト文字が壊れないように変更
バグフィクス扱いになってるけど新機能といっていいんじゃないかと
882デフォルトの名無しさん:2013/01/11(金) 23:49:39.55
チクショウ、一番入れたかった字下げが反映されてない!
883デフォルトの名無しさん:2013/01/12(土) 00:02:10.17
ウォルターの時差ボケは反映されているようだが
884デフォルトの名無しさん:2013/01/12(土) 01:03:58.06
391!
885デフォルトの名無しさん:2013/01/12(土) 10:12:30.01
サポート停止のはずのD1にもWin64対応が入ってるんだが
これってあと2〜3回リリースするってことかなw
886デフォルトの名無しさん:2013/01/12(土) 12:42:16.23
>>881
こうやって安価をつけると専ブラでは字下げが見えるとかなんとか
887デフォルトの名無しさん:2013/01/12(土) 12:52:28.11
Phobos のドキュメントバグもいくつか直されてるはずなのに
公式サイトに反映されてないのはどういうことだ

…ってそもそもドキュメントを再構築せずリリースしてるやんか
888デフォルトの名無しさん:2013/01/12(土) 12:55:23.64
>>886
おおお。しらんかった
889デフォルトの名無しさん:2013/01/12(土) 13:06:11.20
もしかして:専ブラのバグ
890デフォルトの名無しさん:2013/01/12(土) 13:14:00.95
AAモードになってなかったんだろ
891デフォルトの名無しさん:2013/01/12(土) 20:32:09.03
2.061の主な新機能(番号は Bugzilla のもの)
9224 Windows 64bitバイナリのコンパイル対応
   VisualC の導入が必要
9222 User Defined Attribute
   JavaのアノテーションとかC#のカスタム属性みたいなもの?
3011 構文追加 alias INT = int;
7041 非推奨な機能/シンボル名に対するコンパイラの挙動の変更
   警告/エラーをフラグ(-dw,-de)で選べるようになった。
   【注意】デフォルトではエラー扱いされなくなった
5481 属性追加 - 非推奨関数などが使われたらコンパイル時メッセージを出せる
   deprecated("I am deprecated.") void depecatedFeature(){}
5269 version(assert) の追加
5587 unittest{} でこけたときのトレースで関数名が見えないため
   代わりに行番号で場所がわかるように改善

#追加
391 char配列の sort/reverse で UTF8のマルチバイト文字が壊れないように変更
   バグフィクス扱いになってるけど新機能といっていいんじゃないかと
#さらに追加
4762 toString()をもってない構造体でもwritelnで中身を見られる
   出力: Foo(123, "text")
892デフォルトの名無しさん:2013/01/12(土) 20:39:49.75
>>872手直し
むしゃくしゃしていたのでもう一度やった。反省はしていない
enhanced な項目だけで41件もあるので他にも見逃しているやつがあるかも
893デフォルトの名無しさん:2013/01/12(土) 21:56:32.15
 ○  よくやった もうお前に用はない 
 く|)へ
  〉   ヽ○ノ
 ̄ ̄7  ヘ/
  /   ノ
  |
 /
 |
894デフォルトの名無しさん:2013/01/13(日) 00:52:33.40
        |l| | |l| |
        _,,..,,,,_
       ./ ゚ 3  `ヽーっ
       l ゚ ll ⊃ ⌒_つ
        )`'ー---‐'''''"(_
        ⌒)   (⌒   ビターン
           ⌒

        _,,..,,,,_
       ./ ゚ 3  `ヽーっ
       l ゚ ll ⊃ ⌒_つ
        `'ー---‐'''''"

        _,,..,,,,,,_
       ./ ,' D  `ヽーっ
       l   ⊃  ⌒_つ
        `''ー---‐'''''"
895デフォルトの名無しさん:2013/01/13(日) 01:01:52.19
     ∩___∩     /゙ミヽ、,,___,,/゙ヽ
     | 丿     ヽ    i ノ       `ヽ'
    /  ○   ○ |    / `(○)  (○)´i、  先生助けてっ!、
    | U  ( _●_)  ミ  彡,U ミ(__,▼_)彡ミ   Dちゃんが息をしてないのっっ!!
   彡、    |∪| ,,/   ,へ、,   |∪|  /゙
   /  ヽ  ヽノ  ヾ_,,..,,,,_ /  '  ヽノ `/´ ヽ
   |      ヽ  ./ ,' D  `ヽーっ   /    |
   │   ヾ    ヾl   ⊃ ⌒_つ ソ      │
   │    \__`'ー-⊃⊂'''''"__,,,ノ   |
               ` ̄´  ` ̄´
896デフォルトの名無しさん:2013/01/13(日) 01:09:06.80
むしろ過呼吸のイメージがある
897デフォルトの名無しさん:2013/01/13(日) 09:48:26.55
std.numeric 日本語訳ページの gcd のところで「最小公倍数」ってなってるけど「最大公約数」だよな?
http://www.kmonos.net/alang/d/phobos/std_numeric.html#gcd
898デフォルトの名無しさん:2013/01/13(日) 09:57:47.33
やめて!そうやって私に pull request させる気でしょう?エロ同人みたいに!
899デフォルトの名無しさん:2013/01/13(日) 10:00:03.29
not pull request.
It's a null pointer and It's a sony.
900デフォルトの名無しさん:2013/01/13(日) 10:53:07.57
>>897
だな
901デフォルトの名無しさん:2013/01/13(日) 22:22:31.58
>>898
だな
902デフォルトの名無しさん:2013/01/14(月) 04:29:15.72
>>899
だな
903デフォルトの名無しさん:2013/01/14(月) 07:57:56.02
なんか時々import忘れたりするとstd.algorithm内でエラーメッセージが出まくるんだけどアレなに?
904デフォルトの名無しさん:2013/01/14(月) 09:51:54.11
技術系メーリングリストで質問するときのパターン・ランゲージ
http://www.hyuki.com/writing/techask.html
賢い質問のしかた
http://www.ranvis.com/articles/smart-questions.ja.html
上手な質問の仕方
http://kats.twinstar.jp/vms/goodquestion.html
質問するときのコツ
http://tts.utopiat.net/bbshowto.html
905デフォルトの名無しさん:2013/01/14(月) 15:15:33.46
>>903
だな
906デフォルトの名無しさん:2013/01/14(月) 15:53:00.98
D-ers Are Not Accommodating.
907デフォルトの名無しさん:2013/01/14(月) 17:32:11.37
UDAでMFCのメッセージマップ、Delphiのmessage指令っぽいのがでけた
リンカエラーも見っけた
UDAって[ATTR]と@ATTRが使えるっぽいけどどっちか切り捨てないのかな
http://ideone.com/W66pN2
dpaste死んだのか・・・
908デフォルトの名無しさん:2013/01/14(月) 18:10:00.83
Java vs C#
909デフォルトの名無しさん:2013/01/14(月) 19:26:45.43
>>907
こりゃすげえ。
後は継承に対応できたらWindowsアプリが楽になるし、
セレクタ変換する関数をコンパイル時に呼べたら(?)objcもいけそうだ
910デフォルトの名無しさん:2013/01/14(月) 22:38:14.41
めも
User Defined Attributes
http://dlang.org/attribute.html#uda
911デフォルトの名無しさん:2013/01/15(火) 10:50:57.22
そういえば Javaの JUnitフレームワークも
アノテーションを使ってテスト関数を拾い集めたりしてたな
エディタの入力支援と連携させた方が使いやすくなるかな
912デフォルトの名無しさん:2013/01/15(火) 12:11:44.32
今まで出来なかった「属性への別名」はできる? 教えてえろい人

@dynamicOrstaticLink void someAPIFunc();

version (dynamicLink) {
//alias @dynamicOrstaticLink = extern;
} else {
//alias @dynamicOrstaticLink = attr_none;
}
913デフォルトの名無しさん:2013/01/15(火) 12:15:34.52
dynamicOr'Static'Link // 念のため
914デフォルトの名無しさん:2013/01/15(火) 23:45:25.52
> Hello.
> I am very sad to announce that DPaste life came to an end.
要するに学生なのに金を払って鯖を維持していたのがもたなくなったんだと

> For those who can't live without Dpaste anymore, Vladimir created temporary subdomain.
> Here it is: http://dpaste.1azy.net/
ソース公開するって言ってるからたぶん一時的な避難所だろう
915デフォルトの名無しさん:2013/01/15(火) 23:58:44.12
過去のコンテンツ保持されてるね。安心した
916デフォルトの名無しさん:2013/01/17(木) 10:55:35.54
DConf2013 5月予定 http://dconf.org/
まだサイトの中身は空っぽだけど

Submission deadline 2013/1/28 てのは出演側の締め切り? よくわかんね

ここで D3 の何かが出なければあと5年は先になりそうだなw
917デフォルトの名無しさん:2013/01/17(木) 21:47:02.24
5光年に見えて2度見した
918デフォルトの名無しさん:2013/01/18(金) 02:27:59.53
動的配列を切り出して固定長配列にしたい時ってどうすればいいのかな?
固定長で受け取る関数に動的配列の一部をサクッと渡したいんだけどなんか一手間余計にかかる気がする・・・
919デフォルトの名無しさん:2013/01/18(金) 02:43:22.09
>>918
受け取る側でデータをどう扱うつもりかで決まる
中身いじるのかimmutableか、コピー作る必要があるのか、
固定長なら長さはなんでもいいのか、長さまで含んだ型なのか
920デフォルトの名無しさん:2013/01/18(金) 03:04:27.20
固定長配列じゃなくて静的配列って言うのか?static属性がついてるわけじゃないけど。
int[2]みたいなやつ。
今は
void hoge(int[2] a) {} // 受ける側。引数ひとつにしてあるけど本当はいっぱいある中に混じってる
int[] arr = [1,2,3,4,5];
int[2] buf;
buf[] = arr[2..4];
hoge(buf);
みたいにやってるけど、これもうちょっと短くならない?
921デフォルトの名無しさん:2013/01/18(金) 04:12:38.30
↓まあ、こういうの定義すれば
auto fixedArray(size_t N, T)(in T[] array) @property @safe pure
{
T[N] fixed;
fixed[] = array;
return fixed;
}
↓こう書けるけど
hoge(arr.fixedArray!2);

確かにこういうんじゃなくてもっと綺麗にできそうな気はするね
つか、静的配列って値渡しだしわりと根っこから違う型なのね……
使うことないから知らんかったわ
922デフォルトの名無しさん:2013/01/18(金) 13:16:39.61
>>891 に更に追記
8128 interface の中に unittest を記述できる
   static な関数実体を持つ interface のための機能

FIXEDとマークされてなかったから間違って2.062の方にリストされているという
923デフォルトの名無しさん:2013/01/18(金) 17:14:01.67
せっかくWikiあるんだからそっちに書けよ・・・と思ったら友の会が死んでやがる・・・
403だから改修中なんだよなそうだよな
924デフォルトの名無しさん:2013/01/18(金) 18:35:05.06
dusers is dead, but he doesn't know it
925デフォルトの名無しさん:2013/01/18(金) 18:39:21.67
Walter was already dead.
But no one knows that.
Our people enjoing their own life.
We don't need a D Programming language.
926デフォルトの名無しさん:2013/01/18(金) 18:45:26.18
>>925
he charms many parson already.it is too late.
927デフォルトの名無しさん:2013/01/18(金) 23:58:50.07
>>920
あれだ。その静的配列が何度も出てきて、ちゃんとした意味をもってるならもう構造体にしちゃえばいいんじゃないかな
http://dpaste.dzfl.pl/353f9603
928デフォルトの名無しさん:2013/01/19(土) 00:18:28.25
実体の一致とか考えなくて良ければ
配列を返すクラスか関数用意して
処理側関数引数はlazyにしちゃえばいいんだよね
929デフォルトの名無しさん:2013/01/19(土) 14:52:36.36
windowsプログラミングをずっとc++でやってたけど、D言語使いだしてからやめられない
ウィンドウのクラス化でさんざんウィンドウプロシージャの扱いに苦労してたけど
文字列mixinでクラスのインスタンス化と同時にユニークな関数作ればアホみたいに簡単に解決できる

ググるとc++で恐ろしく面倒なことしてる人たちいるけど
是非とも教えてやりたい。
930デフォルトの名無しさん:2013/01/19(土) 14:57:58.45
能書きはいいから、
さっさと教えろやボケが。
931デフォルトの名無しさん:2013/01/19(土) 15:36:24.38
よう読みなされ
932デフォルトの名無しさん:2013/01/19(土) 15:53:09.91
文字列mixinは便利すぎる黒魔術
933デフォルトの名無しさん:2013/01/19(土) 16:44:04.10
>>930
インスタンス化と文字列ミックスインでコールバック関数生成を同時にやるテンプレート一個つくって終わり

よくあるstatic関数+SetWindowLongやATLのvtblすり替えみたいにオーバーヘッドでかい処理しなくていいから楽だぞ
コンパイル時リフレクションでswitchの中身も仮想関数定義によって変更させれるから
win32api直書きと遜色ない速度で走らせられるしな
934デフォルトの名無しさん:2013/01/19(土) 16:50:39.27
今どきのPCで気にするほど何か差が出ることなの?
935デフォルトの名無しさん:2013/01/19(土) 17:02:17.46
シューティングゲームやペイントソフト作ったときポインタのとびができるとかか
そもそもwindowsがマウス動かしただけでWM_MOUSEMOVE送りまくる糞仕様d(ry
936デフォルトの名無しさん:2013/01/19(土) 17:20:20.64
WM_MOUSEMOVE送りまくる糞仕様という糞仕様人間現る
937デフォルトの名無しさん:2013/01/19(土) 17:29:53.72
戦闘力たったの400dpiか…ゴミめ…
938デフォルトの名無しさん:2013/01/19(土) 17:54:52.96
文字列mixin使ってると、中で使われてもいい変数を区別させたくなるんだけど、
alias id void;
とかで未定義化できないかなあ
939デフォルトの名無しさん:2013/01/19(土) 18:20:18.48
>>936
せめてXみたいに興味のないメッセージをマスクしてくれないもんかねー
BeOSのAPIとか今見てもすごいと思う
940デフォルトの名無しさん:2013/01/19(土) 18:33:08.62
GetMessageでマスクできたような・・・
941デフォルトの名無しさん:2013/01/19(土) 18:49:04.46
>>940
上限と下限だけなのが悲しいところ
942デフォルトの名無しさん:2013/01/19(土) 18:52:23.86
PeekMessageだといろいろついてるよ
943デフォルトの名無しさん:2013/01/19(土) 18:58:18.57
あれ?ここWinAPIスレ?
944デフォルトの名無しさん:2013/01/19(土) 20:20:10.71
>>938
static assertとis式でなんとかならんかな

static assert (!is(id));
945デフォルトの名無しさん:2013/01/19(土) 23:27:39.61
>>943
プログラム板でWinAPIの話するなら
WinAPIスレとは名ばかりの煽りスレより
各環境ごとのスレのほうが捗るからなあ…
946デフォルトの名無しさん:2013/01/19(土) 23:41:22.09
サンプルコード見てみたいな
947デフォルトの名無しさん:2013/01/20(日) 10:26:04.57
俺も興味ある
簡単なウィンドウ生成コードよかったらリンクとかでもいいから貼ってくださいまし
948デフォルトの名無しさん:2013/01/20(日) 14:38:15.96
Winapiの発展は
C言語のインターフェイスによって阻害されていたと言っても過言ではない
しかし、我ら選ばれしDの民は
この状況を変えるだけの力を得るに至った。
国民よ!今こそ立ち上がる時が来たのだ!!
これは、栄光への一歩である。
この世界は、Dによる統治を求められていたのだ。
さあ、前に進もう。時代は私たちが作ろう!!
949デフォルトの名無しさん:2013/01/20(日) 14:56:27.20
お、おう
950デフォルトの名無しさん:2013/01/20(日) 15:20:03.96
やべぇ…鶏肉竜田…
951デフォルトの名無しさん:2013/01/20(日) 15:56:08.58
D言語最近かじり始めたんだけど、まず何をできるようにするべき?
952デフォルトの名無しさん:2013/01/20(日) 16:24:23.12
まず服を脱ぎます
953デフォルトの名無しさん:2013/01/20(日) 16:58:44.51
服をたたむコードを書きます
954デフォルトの名無しさん:2013/01/20(日) 17:01:17.36
ネタレスは邪魔だから雑談スレでやってくれ

>>951
C++が使えるならC++との差を把握する
955デフォルトの名無しさん:2013/01/20(日) 17:08:38.97
何をやりたいかだよなぁ
割となんでもできる
GUI以外
956デフォルトの名無しさん:2013/01/20(日) 17:19:37.11
最初はちょっと便利なC++くらいの扱いで十分でないか
957デフォルトの名無しさん:2013/01/20(日) 17:42:16.79
>>954
C++できません。。。

>>955
最終的にはcgiとして動かして、掲示板みたいの作ってみたいです。
トリップ検索や、Yahoo!にPOSTとかもしてみたいですね。
958デフォルトの名無しさん:2013/01/20(日) 17:48:57.41
なんかそういう用途ならD言語よりスクリプトの方が向いてると思うけど
なんでD言語やりたいの?
言語の適材適所とかわからずに流行ってる(?)からD言語始めるとか言ってるなら
D言語はお勧めしないよ
言語仕様変更とかあるし
959デフォルトの名無しさん:2013/01/20(日) 17:56:17.01
>>958
コンパイラ言語を一つ習得したいからです。。。

コンパイラ言語のほうが向いてることってなんですか?
960デフォルトの名無しさん:2013/01/20(日) 17:56:53.22
え、仕様変更があるの!?

どう仕様…
961デフォルトの名無しさん:2013/01/20(日) 18:00:20.12
何故コンパイラ言語にこだわるのか
962デフォルトの名無しさん:2013/01/20(日) 18:00:55.84
今は夕方だからね
挨拶はコンバンワ
963デフォルトの名無しさん:2013/01/20(日) 18:03:15.49
ハローワーク帰りだったから、空に刺したよ
964デフォルトの名無しさん:2013/01/20(日) 18:03:48.11
湖の水に
965デフォルトの名無しさん:2013/01/20(日) 18:04:07.77
C++の改良で、JavaとかC#とか。しかし、やっぱりEXEがほしいとなると、Dかも
966デフォルトの名無しさん:2013/01/20(日) 18:09:57.02
つまらないネタレス書くのは何のため?
967デフォルトの名無しさん:2013/01/20(日) 18:53:58.60
枯れ木(それら)も山(D言語界隈)の賑わい
波平の髪の毛くらい静まり返ってるくらいなら
ウォルターの鼻毛くらいには賑わいを見せたほうがいいじゃない
968デフォルトの名無しさん:2013/01/20(日) 19:06:31.45
JavaやC#では、その設計思想によりネイティブコードを出力できません。つまり、実行速度ではC++に到底かなわないのです(中略)
その答えが「D言語」なのです。
D言語のススメ|Cマガジン2004年11月号p.83
969デフォルトの名無しさん:2013/01/20(日) 19:19:52.14
実行時最適化のほうが云々
970デフォルトの名無しさん:2013/01/20(日) 19:26:13.24
言語が生まれた背景としてネイティブコードが出力されないだけであって
理論上・設計上は出力可能だと思うぞ
971デフォルトの名無しさん:2013/01/20(日) 19:47:04.14
今時はJITコンパイラもあるから
ネイティヴがスクリプト言語より優れてるのは実行環境がOS以外にいらないところだと思う
972デフォルトの名無しさん:2013/01/20(日) 19:52:05.44
JavaやC#も、数値計算のベンチマークだけだとネイティブを凌駕することもあるしな
けどユーザーにとっては速度=応答性なんで、JITはどうしても遅く感じられる
973デフォルトの名無しさん:2013/01/20(日) 19:54:27.41
.NETなんかはインストール時にコンパイルしとけみたいな設定ができるね
いずれにせよサーバサイドではそれ系の言語の不利は全くない
974デフォルトの名無しさん:2013/01/20(日) 20:07:04.30
サーバーも、それ単体でサーバーになれるならともかくCGIなんかで毎回起動と終了を繰り返すとry
975デフォルトの名無しさん:2013/01/20(日) 20:16:48.55
今時、高負荷が前提だったら、そんな設計にするのが間違いで、言語関係ないな
976デフォルトの名無しさん:2013/01/20(日) 20:26:52.29
そこは、大丈夫だ、そう、D言語ならね、と押しておくところだろう
977デフォルトの名無しさん:2013/01/20(日) 21:16:04.87
スクリプト言語は確かに強かろうがDの敵ではないのである
978デフォルトの名無しさん:2013/01/20(日) 22:34:42.61
D言語は仕様変更があるたびに
喜びに打震えるマゾ御用達の言語である
979デフォルトの名無しさん:2013/01/20(日) 23:21:23.46
そうか、仕様変更されないD1を使えば…!
980デフォルトの名無しさん:2013/01/20(日) 23:52:46.09
D1は去年でサポート停止(キリッ
って言ってたのになんでまだコソコソいじってんだ?

って突っ込まれてたよ
981デフォルトの名無しさん:2013/01/20(日) 23:53:50.38
仕様変更のないD言語なんかいやだ
982デフォルトの名無しさん:2013/01/21(月) 07:24:06.46
ウォルター「そこに穴があるから。男なら突っ込んで当然だろ?」
983デフォルトの名無しさん:2013/01/21(月) 11:29:37.83
アッー!
984デフォルトの名無しさん:2013/01/21(月) 12:42:20.60
そのレス面白くない
985デフォルトの名無しさん:2013/01/21(月) 12:43:22.56
986デフォルトの名無しさん:2013/01/21(月) 12:46:11.23
おつ!
987デフォルトの名無しさん:2013/01/21(月) 15:09:55.79
レズれ。
988デフォルトの名無しさん:2013/01/21(月) 15:16:52.33
スレ梅記念にマジレスすると
Qt とか Python とか知ってしまうと
D いらないんだよね
989デフォルトの名無しさん:2013/01/21(月) 15:23:36.36
いやいや
それはねーよw
990デフォルトの名無しさん:2013/01/21(月) 15:25:16.17
一般的に荒れてるってほどでもないんだけど
まったりしてる時のここがけっこう好きなんでしんどい気分になってしまうなあ
991デフォルトの名無しさん:2013/01/21(月) 16:10:40.40
おまえにきにいってもらおうとはおもわん
992デフォルトの名無しさん:2013/01/21(月) 16:14:15.97
NGできねえからな。
どうせすぐ飽きて去る。
993デフォルトの名無しさん:2013/01/21(月) 17:07:08.74
実はこのスレには本物のアイちゃんがいるのではないかと思っている
994デフォルトの名無しさん:2013/01/21(月) 19:32:36.37
QtDなめんな
コンパイルできてリンクまでできてしかも動くことがあるんだぞ
995デフォルトの名無しさん:2013/01/21(月) 19:33:19.09
動くことがあるのか
それは素晴らしいことだね
996デフォルトの名無しさん:2013/01/21(月) 19:48:06.60
動かないライブラリはただのライブラリだ
997デフォルトの名無しさん:2013/01/21(月) 19:53:02.47
中之島ライブラリ
998デフォルトの名無しさん:2013/01/21(月) 20:22:31.28
1000ならDのシェアが0.1%超え
999デフォルトの名無しさん:2013/01/21(月) 20:23:20.24
Dのマスコットが世界を席巻!
1000デフォルトの名無しさん:2013/01/21(月) 20:37:04.67
1000ならDのマスコットのきぐるみが出る
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。