[表示 : 全て 最新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

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

253 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 11:39:10.70 ]
dildo

254 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 19:18:25.79 ]
dragonic change

255 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 20:15:31.49 ]
"D"にこれ程深い意味があったとは

256 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 20:46:15.28 ]
Dragon → Dlagn → D lang

257 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 21:06:46.87 ]
>>248
align(1) struct S{ align(1): ... }



258 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 21:25:16.15 ]
Dのあのマスコットはドラゴンなのか?

259 名前:デフォルトの名無しさん mailto:sage [2012/08/28(火) 22:33:55.88 ]
Dの意思

260 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 03:17:30.61 ]
The D like a mascot is a Doughnut.
You can eat it everywhere.

261 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 04:09:05.33 ]
void main()
{
import std.stdio;
"hello, world".writeln();
}


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

           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |

262 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 04:10:47.72 ]
なんだそのエラーメッセージwもっと言うことあるだろ

263 名前:デフォルトの名無しさん [2012/08/29(水) 13:40:06.45 ]
>>261
d.puremagic.com/issues/show_bug.cgi?id=6185
仕様。フリー関数じゃないとダメってどこかで見た気がする

だがしかし関数内のインポートはバグだらけだから避けるのが吉

264 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 22:32:14.61 ]
そうかー
関数内インポートは控えておくかな

265 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 22:33:24.43 ]
昨日>>261見て関数内で使えることを知って張り切って関数内import入れまくった後なのに・・・

266 名前:デフォルトの名無しさん mailto:sage [2012/08/29(水) 23:12:02.70 ]
imporせずに関数使いたいことが稀によくある
デバグのためにpragma(msg)やる時とか

267 名前:デフォルトの名無しさん mailto:sage [2012/08/30(木) 03:16:30.64 ]
え、インポなの!?



268 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/30(木) 12:32:22.03 ]
「Unexpected OPTLINK Termination」で見事にこけた。
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 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/08/30(木) 13:16:15.89 ]
OPTLINKはD言語最大の癌

272 名前:デフォルトの名無しさん mailto:sage [2012/08/30(木) 14:10:35.23 ]
Linuxばんじゃーい!!!

273 名前:デフォルトの名無しさん mailto:sage [2012/08/30(木) 14:12:25.30 ]
gdcがんばれー><

274 名前:デフォルトの名無しさん mailto:sage [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:
}

ideone.com/oNThI

276 名前:デフォルトの名無しさん mailto:sage [2012/08/31(金) 21:55:06.72 ]
汚いなぁそれやるなら公式で紹介されてるcond使えし

277 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/08/31(金) 22:32:48.67 ]
>>275
有り難う。いい方法見つかった。



278 名前:片山博文MZボット ◆0lBZNi.Q7evd [2012/09/01(土) 17:37:01.86 ]
GDCでスタティックライブラリを作る方法、教えて。

279 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/01(土) 17:50:07.41 ]
「ar rv ライブラリ オブジェクト」でいいのか?
エラーがでるけど。


280 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/01(土) 18:03:05.77 ]
GDCでd2hello.exeがビルドできるようにしてください。お願いします。
dl.dropbox.com/u/72753355/wonders-beta.zip

281 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 18:33:27.50 ]
そういうのはtwitter使ったほうが早いよ

282 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/01(土) 18:39:22.97 ]
>>281 twitter反応がない。。。つぶやき方が悪いのか

283 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 19:07:27.04 ]
つぶやきシローみたいなノリでいくといいよ

284 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 19:55:25.84 ]
質問するときは #dlangつけれ

285 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 20:14:49.10 ]
さすがにそれはやってるだろう

286 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 20:53:37.13 ]
D言語に関連してる限りはここでもいいんじゃないの
他の言語と違ってエラーメッセージがコンパイラ側のバグとかもよくあるし。
全く関係無くしゃしゃり出てたらさすがに余所でとか言いたくなるけどそういうわけでもなさそうだし。

289 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 20:55:31.57 ]
>>287
いや、普通に考えてwindows.hの代替ライブラリ作ってるなら
core.sys.windowsとかをimportしちゃ駄目でしょw

290 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/01(土) 20:57:00.66 ]
>>287 関数名変えて、aliasつけて解決した。

291 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 21:01:15.91 ]
>>289
プログラミング初心者レベルだな…

292 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/01(土) 22:13:13.80 ]
>>289 そんなものをimportした覚えはないが

293 名前:デフォルトの名無しさん mailto:sage [2012/09/01(土) 22:14:41.11 ]
もしかしてWinMainとか使ってたり
なわけないか

294 名前:デフォルトの名無しさん [2012/09/02(日) 12:39:24.76 ]
phobos の中でこっそり public import して"感染"状態を引き起こす奴がいる
潜在的にバグと言っていいんじゃないかな

それと、大きめのプロジェクトで -g(デバッグシンボル) をつけると OPTLINKがゴネることがある

295 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/09/02(日) 23:01:22.48 ]
Derivedしか受け付けない関数にただのBase渡せちゃうからダメじゃないの?



298 名前:デフォルトの名無しさん mailto:sage [2012/09/02(日) 23:23:09.92 ]
イベントハンドラに使いたいんだけど無理かぁ・・・

299 名前:デフォルトの名無しさん [2012/09/03(月) 01:01:54.87 ]
>>295
たぶんOSの予約デバイス名に引っかかってる

300 名前:デフォルトの名無しさん mailto:sage [2012/09/03(月) 01:49:11.93 ]
そういや、CONCONバグとかあったよな。ああ懐かしき9x…

301 名前:デフォルトの名無しさん mailto:sage [2012/09/03(月) 02:55:40.08 ]
Call of Duty だな

302 名前:デフォルトの名無しさん mailto:sage [2012/09/03(月) 11:36:04.87 ]
納得いかねー!!
d.puremagic.com/issues/show_bug.cgi?id=502

↓こういうアホライブラリは一体どうしてくれよう…
setXXX はないけど getXXX に final つけちゃった☆

303 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/04(火) 14:56:22.65 ]
codepad.org/xa1mI004
codepadのDコンパイラって古いんですね。

304 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2012/09/04(火) 15:13:18.79 ]
かまってちゃんきたー

306 名前:デフォルトの名無しさん mailto:sage [2012/09/04(火) 15:30:22.90 ]
D2が安定してもどうせD3で破壊的変更が繰り返されるのでそれに付いて行く覚悟のない奴はさっさとやめればいいよ

307 名前:デフォルトの名無しさん mailto:sage [2012/09/05(水) 01:13:40.58 ]
>>304
やめるなんて勿体ない
そこまでの開発意欲があるのなら
コンパイラのバグ退治もしながら言語にも良い影響を与えてやってくれ



308 名前:デフォルトの名無しさん mailto:sage [2012/09/06(木) 08:08:40.62 ]
最初だけ食いついて飽きたらポイしたのに俺のおかげでDは成長したみたいな顔してる人も居たような居なかったような
継続してなんかやってくれてる人はありがたい

309 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/09/06(木) 13:58:19.14 ]
>>304のバグが修正されるまで、Wondersの開発を中断します。

310 名前:デフォルトの名無しさん mailto:sage [2012/09/06(木) 20:38:56.38 ]
チェンジログに大量に追記されているのに気づいた。
でもこのままだと公式ドキュメントに反映されないっての…どうすんのさ
https://github.com/D-Programming-Language/druntime/commit/a9c2c6ca76e8a1767759cc7c642924c2ee57330e

311 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 01:28:05.11 ]
ttps://github.com/D-Programming-Language/dmd/pull/1099
だれかこのおっさん止めてー

312 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 06:37:33.79 ]
>>311
assertが有効になってるかどうかでの分岐だろ
あって困るようなもんでもないと思うが…

313 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 10:33:16.99 ]
`assert({
/* ... */
return true;
}());

これで十分。

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

そっちの方が潰し柿食うと思うんだが

315 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 15:32:21.43 ]
>>311
なんてこった、敵の動きは早いぞ!

dlang.org/version.html#PredefinedVersions

316 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 16:52:17.06 ]
D_NoBoundsChecks
これ?
これがどうしたの?

317 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 19:15:49.71 ]
もはやコンパイルオプションでversion出来たらいいよねってレベル



318 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 20:58:13.07 ]
version (is > 3.141)
こんな感じ?

319 名前:デフォルトの名無しさん mailto:sage [2012/09/07(金) 22:23:45.20 ]
@property以外は引数なくても括弧省略できなくなった理由ってなんなんですか?
って、あれ?
今試したらかっこつけなくても怒られなくなってる。
元からそうだっけ?

320 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 00:16:13.87 ]
-property enforce property syntax

321 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 00:55:19.90 ]
なるほど

322 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 18:07:27.84 ]
trunk見てると Win64の文字が舞い踊って次のリリースが楽しみだ

たぶん全く関係ないところにも大量のreg(ry

323 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 18:21:07.23 ]
Win64で3Dポリゴンの演算能力が!

324 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 19:39:30.27 ]
いやしかしCPUが64になってもポリスペックはGPUに依存するんじゃないか

325 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 20:13:55.89 ]
ニンテンドー64の話をしてるんだわさ!

326 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 23:11:14.11 ]
いや、今まで「OPTLINKの制約でゴニョゴニョ…」と先延ばしにされてきた問題が
一挙に解決…!! するはず

てかリンカのソースマダー? チン、チン

327 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 04:34:40.90 ]
ランカ・リー?



328 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 16:58:30.88 ]
D言語で動的ジャグ配列ってどうやるの?
↓?
int[/*a3*/][/*a2*/][/*a1*/] a = new int[a1][a2][a3];

329 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 17:04:15.96 ]
他の言語と同じように↓みたいにはできるのですが、もっとシンプルにはならないでしょうか
a = new int[][2];
a[0] = new int[3];
a[1] = new int[3];






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

前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