[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 09/20 13:16 / Filesize : 65 KB / Number-of Response : 371
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

D言語 Part30



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するのに使ったり






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<65KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef