- 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
- 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するのに使ったり
- 238 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 00:00:18.60 ]
- リンカが出す「Error 32: Data Outside Segment Bounds : _DATA」ってエラーはどんな意味なんだい
何をすれば解決するのかさっぱりで
- 239 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 03:18:43.15 ]
- みんなのおかげで次のステップに移ることができたよ
ありがとう
- 240 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [2012/08/27(月) 20:37:29.03 ]
- ライブラリが大きすぎるということか? でも二つに分けたくないな。
- 243 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 20:43:50.09 ]
- 単純な数値定数はconstではなくenumにすると、シンボルが出力されないからライブラリサイズが減るかも。
- 244 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 21:38:26.40 ]
- OPTLINKを甘く見るな
吐いてるエラーメッセージが真実とは限らない
- 245 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 23:03:47.65 ]
- 2.060でalign属性がいかれちまってるんですが、
これはD言語erにとって大したことない感じなの?
- 246 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 23:18:38.10 ]
- なに、ちょっとした崩壊的変更だ
一日ちょっと楽しめたぜ
- 247 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 23:53:42.34 ]
- align(1)が変更つうかぶっ壊れてる気がするんですが、変更なの?
- 248 名前:デフォルトの名無しさん mailto:sage [2012/08/27(月) 23:56:21.38 ]
- struct S {align(1): ...}
でサイズが計算と合わない
- 249 名前:デフォルトの名無しさん [2012/08/28(火) 01:21:00.19 ]
- d.puremagic.com/issues/show_bug.cgi?id=8377
うぉるたんが disastrous bug って言ってるヤツかな 緊急リリースが出るかと思ってたけど出ない
- 250 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 06:30:28.64 ]
- こういう話を見るたびに思うんだけど
Dがつく単語をわざと選んでんのかな
- 251 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 10:10:20.94 ]
- 選んでるかまでは知らんが
破壊とか崩壊とか解体とか災厄とか絶望とか、 その手の単語はラテン語源のことが多いけど、 そっちで接頭辞 de- とか dis- とかがつく単語で表現されてるもんだからもともとDで始まる単語が多い
- 252 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 10:23:28.24 ]
- destroy
|

|