1 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:05:43.45 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 ■本家 dlang.org/ - 公式(英語) www.kmonos.net/alang/d/ - 公式の和訳 d.puremagic.com/issues/ - D言語バグ報告 https://github.com/D-Programming-Language - D言語開発リポジトリ ■Wiki dusers.dip.jp/ - D言語友の会(日本語フォーラムあり) prowiki.org/wiki4d/ - Wiki4D(公認Wiki) ■前スレ D言語 Part29 toro.2ch.net/test/read.cgi/tech/1329714331/ ■過去スレ、関連スレ makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
137 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 00:34:26.46 ] >>131 p:sage www.dotup.org/uploda/www.dotup.org3311898.h.html
139 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:04:02.32 ] 久しぶりに見に来たけど丹後さん死んでしまったん?
140 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:27:35.07 ] D2でいらない子扱いにされて拗ねてる
141 名前:デフォルトの名無しさん mailto:sage [2012/08/15(水) 12:37:17.15 ] どっちかというと形を変えながらだんだんPhobosにマージされていってるんじゃないの?
142 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 06:24:04.14 ] sourceforgeもいいけどgithubもいいよ!
144 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 09:22:42.65 ] すげー 乙乙
145 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 15:00:57.31 ] >>142 スタックトレース吐いた〜〜。 ttp://ideone.com/BVUBL
146 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 15:24:26.01 ] デマングれてないとこがあるな…
147 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:18:36.18 ] foreach (; 0 .. 10) みたいなカウンタ変数すら無いループとかできないかな
148 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:48:54.30 ] 単純に回したいなら、構文は foreach(10) でいいんじゃないか。
149 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 21:59:31.11 ] 0開始とは限らないから foreach (5 .. 15) も必要じゃね?
150 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:07:14.71 ] え。ループカウントは使いたいの?
151 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:10:49.41 ] >>149 変数無いのにどうやってカウント値を参照するんだ?
152 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:20:04.89 ] カウント変数$_に格納されます
153 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:21:10.27 ] >>152 Perl?っていうかマジで?
154 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:30:18.95 ] >>152 だったら普通に変数使えよw
155 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 23:08:28.66 ] 大してご利益もないのに複雑になるだけの構文イラネ
156 名前:149 mailto:sage [2012/08/16(木) 23:45:58.67 ] >>150-151 こいつぁとんだ間抜けだぜ! 笑ってやれ笑ってやれHAHAHA
157 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 23:48:31.39 ] src\druntime\import\core\stdc\* のファイルって2.059だと.diなのに2.060では.dになってるのはなぜですか?
158 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 01:44:08.70 ] >>158 スタックトレース吐かなくなりました。GJ!
160 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 01:54:36.07 ] foreach (_; 0..10)で我慢
161 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 11:17:18.65 ] Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ eArray6valuesMFNdZAxk Error 42: Symbol Undefined _D6object29__T16AssociativeArrayTAxaTxkZ16Associativ eArray6valuesMFNdZAxk リンク時にこういうエラーが出ます。 おそらくisAssociativeArrayを使っているからだと思いますが、どうすればいいですか?
162 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 13:14:26.86 ] 対象の xxxx.lib をコンパイル時に参照するように指定してあげないといけないんじゃないの
163 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 13:19:36.44 ] 連想配列周りのバグが直ってないのがいくつかあった気がする d.puremagic.com/issues/show_bug.cgi?id=5950 コマンドラインでソースファイル名を渡す順序を入れ替えると 出なくなったりとか変なバグがある
164 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 17:21:47.56 ] >>162 isAssociativeArrayはD言語標準なので困ったところなのです。 >>163 コンパイラのバグだったか・・・。 ソースファイルを渡す順序の入れ替え・・・地味な作業になりそうです。
165 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 17:33:45.50 ] まさかisAssociativeArrayを関数呼び出ししてない?
166 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 18:02:24.16 ] >>165 static if (isAssociativeArray!(Hoge)) こんな感じで使ってます。
167 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 18:19:15.01 ] >>161 デマングリングだけしてみた。これに見覚えは? @property const(uint)[] object.AssociativeArray!(const(char)[], const(uint)).AssociativeArray.values()
168 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 18:56:17.52 ] 演算子オーバーロードみたいにコンパイラが内部で書き換えるやつじゃね
169 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 19:48:23.16 ] それD組み込みの連想配列の実装コードな気がする・・
170 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 19:53:45.79 ] なんかkeys使うとリンクに失敗することがあったような
171 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 20:42:53.43 ] >>167 直接、そういったテンプレートを呼び出した覚えはないです。 >>168-170 やはりコンパイラのバグか・・・。
172 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 21:26:10.67 ] コンパイラはいつも夢を与えてくれますが 同時にバグも残していくのです
173 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 21:59:34.29 ] つまり夢いっぱいってことさ。
174 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 22:04:15.27 ] Open your Passion!!
175 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 22:29:42.05 ] dmdのバグ price less
176 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 23:21:32.66 ] 夢だけじゃ腹は膨れないんだよッ
177 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 23:35:06.98 ] だったらケーキを食べればいいじゃない
178 名前:161 mailto:sage [2012/08/18(土) 09:46:56.35 ] 一応報告ですけど、コンパイラをdmd2.059からdmd2.054にしたらビルドできました(他のverは試してない)。
179 名前:デフォルトの名無しさん mailto:sage [2012/08/18(土) 09:57:37.82 ] 最新版を試してない・・・だと・・・
180 名前:デフォルトの名無しさん mailto:sage [2012/08/18(土) 10:23:58.60 ] HEADじゃない…だと…?
181 名前:デフォルトの名無しさん mailto:sage [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
182 名前:161 mailto:sage [2012/08/18(土) 23:32:43.12 ] dmd2.060が出てたの気づいてなかった・・・。
183 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 21:40:24.95 ] ttp://dusers.dip.jp/modules/forum/index.php?topic_id=119#post_id442 薄い本がでるのか
184 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:31:12.36 ] 完売したらしいね
185 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 08:36:23.64 ] おっくれてるぅー
186 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 17:23:50.31 ] あれだけ扱い難いC/C++の処理系のバグの少なさには恐れ入ったもんだが Dはどうしてだめなんだ。
187 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 17:25:52.37 ] 仕様が決まってないから
188 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 17:37:57.10 ] こればかは どうしようもない
189 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 19:47:24.59 ] dlang.org/bugstats.php ずいぶん改善されてる実感はあるんだけど せめて、Criticalが1桁になればなあ・・
190 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 19:49:25.17 ] ウォルターの存在自体がバグ
191 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 21:30:22.40 ] >>189 改善されてないでしょ… バグ曲線の見方は、newが少なくならないと安定してきたとはみなされないし。
192 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 22:56:54.33 ] class C{...} class D : C{...} C d = new D; dからDを得る方法ありますか? typeof(d)だとCになってしまう。
193 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 23:23:48.46 ] d.typeof
194 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 16:59:14.16 ] あんなマンパワーの居る作業を一人でやったのか… お疲れさん。
198 名前:デフォルトの名無しさん mailto:sage [2012/08/23(木) 19:40:34.48 ] >>196 Makefile 46 : ## DEBUG OR RELEASE? 逆じゃね?
199 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 22:15:41.39 ] C言語のライブラリから char* hoge(); を文字列として引っ張ってきたいのですが、そのままだと文字のポインタのような感じになってるみたいです。 文字列のように持ってくる何かいい方法は無いでしょうか
201 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 22:53:42.86 ] D言語だって文字の配列だよ
202 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 22:56:05.46 ] hoge().to!string();
203 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 22:56:06.23 ] ポインタから勉強しなおしてto!stringしろ
204 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 22:57:25.06 ] メモリリークの予感しかしない
205 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:00:16.96 ] >>200 char* p = hoge(); string s = p[0 .. strlen(p)].idup; というのが一番簡単かな Cライブラリで確保されたメモリは GC管理下に無いからコピーした方が扱いやすいと思う 自分で管理出来るならidupしないでキャストしてもいいのかな
206 名前:205 mailto:sage [2012/08/24(金) 23:01:55.61 ] あ、toで行けるのかスマン知らなかった to賢いな
207 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:08:16.61 ] >>200 はポインタに対しての理解度があやしいので その関数がmallocしてくるのかstaticな領域を返すのか確認した方がいいです
208 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:09:35.25 ] >>206 isたんもかわいいお
209 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:22:48.60 ] >>208 toro.2ch.net/test/read.cgi/tech/1320314325/
210 名前:200 mailto:sage [2012/08/24(金) 23:40:17.15 ] hoge().to!string(); ですね。 関数内で作成した文字列は危険だから返すな! 予めメモリを確保した所から文字列としてchar*を返す分には問題ない。 とかそういう感じですかね? ご指摘ありがとうございます。ちゃんと手直ししました。 色々とありがとうございます。
211 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:43:42.83 ] 要するにmallocしたらfreeしろってことだよ
212 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:47:41.56 ] ぼくのアナルも排便した後は女の子に舐め取ってもらいたい!
213 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:49:28.53 ] その後はすかさずベロチューか? お前とはうまい酒が飲めそうだ
214 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:53:40.52 ] ハードコアだな
215 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:56:57.30 ] マゾしかいないのかと思ったらスカトロマニアも多いとは……。 趣味がが増えたよ! やったねたえちゃん!
216 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 01:04:46.58 ] D言語のマスコットでエロゲ作ろう
217 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 01:06:23.59 ] そこはマスコットと言わず高クオリティーで頼む
218 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 01:53:04.54 ] ボコォ
219 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 13:24:47.03 ] classインスタンスのアドレスを取るときって↓で良い? あとこういうのってどこに仕様書いてありますか C c = new C; cast(void*)c
220 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 17:24:59.46 ] ttp://www.kmonos.net/alang/d/class.html > クラスオブジェクトは参照によってのみインスタンス化されます。
221 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 19:33:51.34 ] ありがとうございます。 そこは見たのですが、その「参照」は何もラップされていないアドレスと考えて良いんですか?
222 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 20:11:51.25 ] TypeInfo_Classがあるだろう。
223 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 20:33:19.69 ] >>219 それで合ってるよ
224 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 02:18:07.74 ] &thisとかはスコープ外れた時に使えなくなるみたいなんだけど どっかでポインタ用の変数を自動生成してるってこと?
225 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 02:27:41.88 ] thisは変数だし、&thisは変数へのポインタなんだから当たり前だろ。
226 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 02:38:20.51 ] ん?じゃあ外部で生成されたクラスのアドレスを クラスの内部から取得する場合にはどうすればいいの? クラスが生成されてる間に、アドレスの形で保持しておいて スコープが外れても色々な所で使い回したいとかそういうケースなんだけど
227 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 03:03:57.14 ] クラス内のthisも参照だけどそのへんわかってる?
228 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 04:01:17.55 ] 多分よく分かってません thisは、Classへのアドレス? &thisは、Classへのアドレスを記憶するために変数が用意される感じ? とか、そんな感じで混乱してます
229 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 10:10:20.29 ] thisはクラスのインスタンスを指す参照変数で、&thisはその参照を指すポインタを得る。 参照変数の内容にはポインタを含むから、&thisはポインタのポインタになるってわけ。
230 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 10:12:39.89 ] s/ポインタ/アドレス/g
231 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 12:10:55.47 ] >>226 そういう場合に>>219 を使う。 thisからアドレスを得たいなら cast(void*)this でいい。
232 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 14:04:30.06 ] 基本的には>>219 でいいけど、CがopCastを定義していると動かない もうちょっとよいやり方はこちら C c = new C; void* p = *cast(void**)&c;
233 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 15:43:06.33 ] Dのマスコット作ってる暇があるなら ウォルタくんはこういうややこしい部分を図解してやればいいのになw
234 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 16:20:28.86 ] ややこしいのか・・・?
235 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 16:53:50.45 ] クラスのアドレスって何に使えるんだろう?
236 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 17:11:05.96 ] memsetとかか。ガクブル。
237 名前:デフォルトの名無しさん mailto:sage [2012/08/26(日) 17:50:18.80 ] SetWindowLongしたりemplaceしたインスタンスをfreeするのに使ったり