[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/03 02:04 / Filesize : 146 KB / Number-of Response : 879
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

D言語 Part28



1 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 06:02:12.35 ]
プログラミング言語 D (D Programming Language) について語るスレッドです。

■前スレ
D言語 Part27
hibari.2ch.net/test/read.cgi/tech/1303022487/

■本家
www.digitalmars.com/d/
www.d-programming-language.org/ (ドキュメント)
www.kmonos.net/alang/d/ (和訳)

■コンパイラ
www.digitalmars.com/d/dcompiler.html (DMD, 本家)
dgcc.sourceforge.net/ (GDC, gccフロントエンド)
www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)

■参考URL
f17.aaa.livedoor.jp/~labamba/ (D言語研究)
f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
dsource.org/ (dsource)
tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
dusers.dip.jp (D言語友の会)
www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)

168 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 21:24:59.46 ]
std.file.getcwdでええんちゃう?

なんでstd.fileなのさ

169 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 00:53:14.41 ]
やっぱりあるんだね
Windowsユーザにその名前は盲点だった

そして最新のドキュメントからは消えている・・・

170 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 02:11:28.75 ]
>>168
std.file と std.path は統合してもいいんじゃ?と時々思う。
分かれてるもっともらしい理由を以前ここで見た気がするが忘れた。

ttp://ideone.com/t2Ym9
2.055のバグ(?)かと思ったけど、Ideoneの出力もなんか予想と違うような…

171 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 02:56:25.22 ]
システムコールを必要とするものしないもの、かな?妄想だけど
……だったらrel2absの意味がわからんか

172 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 01:44:39.54 ]
原因不明でnewに失敗するんだけど
core.memory.GC.disable();すると落ちなくなる、、
何これ、、、、、

173 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 10:23:55.95 ]
>>172
どっか別のオブジェクトのデストラクタが意図せぬ順番で走るパターン
とエスパーしてみる

174 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 10:28:40.15 ]
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
TIOBE 順位の躍進の理由は
C++11に注目が集まって、それと比較するためとにらんでいる

D = C++11 と混同した層とかそういうデマとかもたくさんあったに違いない
だから2〜3ヶ月もすると(ry

175 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 19:32:09.37 ]
0.2%増えたのって大きいのか小さいのか

176 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 20:12:33.24 ]
ぐらふを見るべき
ttp://www.tiobe.com/index.php/paperinfo/tpci/D.html



177 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 21:03:17.40 ]
数年前に何があったんだってばよ

178 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 21:45:57.54 ]
2007年正月のはver. 1.00発表
やっと正式版になったかと思ったのも懐かしい思い出

179 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 02:13:15.18 ]
>>174
単純にAndreiの入門書が出たからだよ。
大規模C++ソフトウェアデザインの著者だからネームバリューが凄い

180 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 13:16:56.89 ]
MC++Dかと

181 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 00:36:33.06 ]
ねえねえ、今のPhobosってどのくらい強力って感じなの?

182 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 01:32:20.67 ]
std.c.stdioのprintfまじ強力

183 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 09:33:30.30 ]
mapファイル出力して中身を見ると
16384バイトごとに必ず文字抜けする
このバグ、誰も報告してないんやろか・・・

184 名前:183 mailto:sage [2011/09/15(木) 10:00:52.37 ]
補足
OPTLINK (R) for Win32 Release 8.00.12

185 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 17:48:44.11 ]
取り合えず報告してみて
報告済みなら誰かが重複マークをつけてくれると思って書いたらいい

186 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:04:45.48 ]
バグがコミュニケーションの輪を広げるんだよ!!
D言語はウォルターの人間愛でできてるんだよ!!!



187 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:09:28.85 ]
むしろ、D言語の存在そのものがバグ

188 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 18:52:07.48 ]
書いた
d.puremagic.com/issues/show_bug.cgi?id=6673


189 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:38:16.95 ]
D言語友の会 dusers.dip.jp/
久しぶりに覗いたらChangelogがちゃんと日本語化されててワロタ
というか、日本語で解説見るまで toUTF16z → toUTFz になったの気づかなかった

有志には乙と言わざるを得ない

190 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:47:51.72 ]
toUTF16zの代替はtoUTFz!(wchar*)であることに気付かなくて一瞬阿鼻叫喚になったんだ

友の会の中の人は本当に乙だな

191 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 19:54:08.98 ]
お、DWTアプリにクラス1個追加したら-gつけた時に出るようになったOPTLINKのエラーが
もう2〜3個クラス追加したら出なくなった

192 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 23:51:38.45 ]
.NETはオワコン

193 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 01:22:45.57 ]
opDotに@propertyつけてなかったが為に起きた、segvもせずにでたらめな値を返すバグに、数時間はまってた。
しかも単純なコードだと再現しねぇ(dmd2.055win)

194 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 01:56:45.22 ]
え、詳しく

195 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 06:22:39.75 ]
Dもやろうと思えばJITコンパイラ書けるよね。
Safeモードもあるし。

196 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 10:33:12.82 ]
-safe は犠牲になったのだ・・・



197 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:00:06.39 ]
Phobos「-safe? -property? 何のことです?」

198 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:06:21.46 ]
memory safe D って -safe もろとも消えたと思ってたけど
SafeD ってのは別物なの?

199 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 17:18:52.43 ]
え?safeなくなったの?
propertyはまだあるよね?

200 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 17:47:43.97 ]
-safeは無くなったみたい
phobosさえ使わなければちゃんと機能したのになぁ…

201 名前:デフォルトの名無しさん [2011/09/17(土) 19:51:10.43 ]
さーてOS作るか

202 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:01:55.83 ]
OSのバージョンアップ頻度 < 開発環境の更新頻度

203 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:03:29.02 ]
DのOSか
名前はDOSで決まり

204 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 21:22:36.14 ]
あ、DOSを使っててC言語を思いついたのかもね

205 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 23:02:18.83 ]
>>194 すまん。193は勘違いだった。今やったら再現しないわ。
スレよごしてごめん

206 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 23:08:27.23 ]
Dだから実は勘違いでない可能性大



207 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 03:40:06.23 ]
opDotなんて使うのか?
もはやalias thisだろ

208 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 09:55:18.32 ]
WinRTに対応したら
ネイティブ言語としてのまさかの覇権があるかもよ

209 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 10:03:19.85 ]
ではまず WinRTから SJISを排除するところから

210 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 11:26:35.64 ]
>>207
ひと手間加えるだけでECMA ScriptやLuaのような
連想配列ベースのオブジェクトが作れるという魔法の道具ですぜ。

211 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 16:58:12.02 ]
>>210
kwsk

212 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 17:33:19.48 ]
std.xmlか何かに無かったっけ?

213 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 17:35:12.26 ]
魔導書2、Dの記事だけ読みてえ

214 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 18:48:11.06 ]
記事が1つしか載らないってことはD言語は全然変態じゃないってことか…

215 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 18:56:08.44 ]
いや、Haskellとか他の言語の記事も入ってる号で単独記事だから十分変態

216 名前:デフォルトの名無しさん [2011/09/18(日) 22:02:25.15 ]
phobosの中のような、たとえば
sizediff_t indexOf(char1, char2)(const(char1)[] s, const(char2)[] sub )
のような、
関数名(型名)(引数){}の様な構文ってどのような解釈をしたらいいんですか?
関数名(引数){}な構文しか知らないんで、どう読んで良いのか良く判りません。



217 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 22:14:19.98 ]
www.kmonos.net/alang/d/2.0/template.html#function-templates
これです

218 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 02:30:26.73 ]
テンプレートパラメータです

219 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 02:31:30.43 ]
opDotってまだ使い道あったのか

220 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 02:32:18.02 ]
immutableはsharedのひとつ?

221 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 07:13:22.23 ]
immutableはすべてのスレッドから等しく参照してよいと定められているけど、
コンパイラがどこまでsharedとの一貫性を保ってくれるかは不明。
shared関係はなんというかまだ整理されきっていない感じ。

222 名前:デフォルトの名無しさん mailto:sage [2011/09/21(水) 15:18:23.70 ]
なぜ defineEnum が消されねばならんのだ、ぐぬぬ・・・

enum SCE_D {
COMMENT,
COMMENTLINE
}
assertEquals(std.conv.parse!SCE_D("COMMENTLINE"), SCE_D.COMMENTLINE);
----------------------------------------------------------------------
core.exception.AssertError@test.d(123): COMMENT != COMMENTLINE


223 名前:222 mailto:sage [2011/09/21(水) 15:55:58.81 ]
Issue 4744 て コードをいじった痕跡があるのに
FIX されてないじゃん
なんぞ・・・

224 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 03:50:26.96 ]
>> 222
それコンパイル時に文字列のタプルを長さ順にソートしないといけないから
実装がえらく面倒になる。

225 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 10:31:39.37 ]
前方一致いらない
単語切り出して完全一致を比較するだけでいいはず

226 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 10:52:13.80 ]
Phobos 敗走・恐怖の神

何でこんな名前つけたし・・・



227 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 10:58:40.74 ]
木星の衛星だっけ? 火星?

228 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 11:29:34.14 ]
火星。MarsだからPhobos
純然たる恐怖の神であるDeimosよりは合ってるんじゃないかな

229 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 19:58:08.29 ]
ヴァンパイアハンターの土偶さんのイメージがつきまとう

230 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 22:51:35.07 ]
ウォルター「実は昔知ったのさ。日本でカセイというと別の意味もあるって事にね。おっとこれ以上の詮索は無しにしてくれ。」

231 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 01:17:05.52 ]
誰かDでファイアーエムブレムクローン作ってくれ

232 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 01:18:04.99 ]
231 がんばれ

233 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 01:21:41.50 ]
それよりdioだ

234 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 01:46:23.19 ]
邪悪の化身ッ!

235 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 01:46:43.69 ]
無駄無駄ぁ

236 名前:デフォルトの名無しさん [2011/09/27(火) 03:19:52.49 ]
実数型のkeyを持つ連想配列にどのようにアクセスしたら良いのか判りません。

real[real] foo;
foo[0.12345] = 0.99; // ok
writef( "foo = %f", foo[0.12345] ); // NG

変数を介してもだめで、foreachはRenge violationでした。
もしかしてバグでしょうか?
それとも実数型のkeyはもてないのでしょうか?



237 名前:デフォルトの名無しさん mailto:sage [2011/09/27(火) 03:33:11.33 ]
問題なかった@DMD2.055 Win

238 名前:デフォルトの名無しさん mailto:sage [2011/09/27(火) 03:42:35.94 ]
writef だと何も出ない?けど writefln ならいけた
仕様かどうかは面倒なので調べない てかもう寝る

foreach で回すときは連想配列のプロパティを使わないとダメなはず
foreach (f; foo.keys) {
writeln(f);
writeln(foo[f]);
}


239 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 20:45:36.41 ]
interface I {}
class C : I {}

void func(Object obj) {}
func(cast(I) new C); // コンパイルエラー

interfaceのインスタンスは無条件でObjectのインスタンスと看做していいんじゃないかなぁ
それともObjectを実装してなくてintarfaceを実装してる存在なんてものがありうるの?

240 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 21:03:10.91 ]
元々interfaceはWindowsのCOM互換のための機能だったんだぜ
いつのまにかinterfaceからObjectにダウンキャストできるようになったけど、
COM由来のinterfaceでそれやったらどうなるか恐ろしいんだぜ。

Delphiも事情は一緒だけど……

241 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 21:37:34.74 ]
interface から object のダウンキャストって普通なのか…

俺はなんとなく java みたいに機能追加のための方便の一種として
しか認識してないわ > interface

242 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 23:00:43.62 ]
Javaから入ったくちだからObjectであって当たり前だと思ってた
そういうことだったのね

243 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 00:14:13.96 ]
interfaceをObjectにキャストする必要がでたら設計間違えてると考えたほうがいい


244 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 19:09:13.70 ]
するとinterfaceで型を定義することが間違ってるってことか…
そもそも大幅に性質の違うclassどもに便宜上一部共通の部分を作って
一緒くたに扱う必要がある時点でまずいのか?
mixinじゃコレクションは作れないしなぁ
Variantの配列なんて悪夢のような代物は見たくもないし

245 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 20:43:40.77 ]
「interfaceをObjectにキャストしてなんかする」の部分をそのinterfaceのメソッドにしてしまえば済む話じゃね?

246 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 20:44:26.53 ]
すまんテンパってた
>>244で書いたような事じゃObjectへのダウンキャストは発生しない

そういう状況で出てきたinterface型のオブジェクトを
DFLのControl#tag(こいつがObject型)とかにセットしようとした時に例の問題が発生するのであって
このtagは.NET由来でObjectになってるんだと思うが、こいつが本来Variantであるべきなんだ
俺が全面的に間違ってました。ごめんなさい。
だからDさん俺を破壊的変更するのはやめてください、やめて、とめ あ



247 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 20:55:39.26 ]
DFLも.NETもわからんけど、Dで実装されたinterfaceであることが確定的に明らかなら
ふつーにObjectにダウンキャストしてもいいんじゃね?

248 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 21:41:38.67 ]
アップキャストでは・・・・

249 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 05:42:46.54 ]
元の型が確定してるなら問題ないでしょ?
DFL程度のソースだったらTagを独自に置き換えちゃってもよさそうだけど


250 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 13:11:33.01 ]
DFLのgithubのforkは健在みたいだけど原作者どこいってもうたんや…

251 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 18:27:54.38 ]
interfaceをtagとして登録するなら…

252 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 00:07:48.25 ]
interfaceは基底クラスとは役割が違うよ
本当にそのコンテキストでinterfaceを使う必要があるのかよく考えてみて

253 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 00:39:48.67 ]
種類も役割も様々なclassに対して一部だけ共通の側面を持たせようとする用途だから
interfaceでいいと思うんだけどなぁ

254 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 02:08:09.19 ]
interfaceはもっと身近な存在でいてほしいね

255 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 04:17:02.49 ]
Objectの派生がいい気がしてきた

256 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 04:20:29.54 ]
それともControl#tagが専用のinterfaceを受け取るべきなのかな?
でなければVariant?



257 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 08:39:17.92 ]
>>256
専用interfaceなんかにしたら既存のクラスを置けなくなっちゃう><
いやラッパかませば置けるけど意味無いし
役割的にはVariantが妥当じゃないかな

258 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 16:36:03.96 ]
久しぶりに来たけどD言語どうなってる?
まだ破壊的仕様変更やってんの?

259 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 17:02:52.31 ]
今はそんなでもない
主要API消滅するときも0.002バージョン分ほど猶予がある

260 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 18:10:56.21 ]
標準ライブラリ内での名前被りが解消すれば
そこそこ安定するのではないだろうか・・・年明けくらい


261 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 19:01:51.31 ]
言語的な仕様はほぼ固まって、
標準ライブラリを色々いじってるところって感じでいいの?
昔いじってる時いまいちイケてないライブラリだったけど
ずいぶん変わったのかな

262 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 19:10:28.76 ]
ずいぶん変わった
ロケールとかエンコーディングとか微妙に基本的な部分が欠けてるような気もするが
基本的にはすごくいい感じ、だと思う、たぶん…

D1の頃から「他の言語よりずいぶん早くやりたい事を書けるなぁ」と思ってたんだが
そういう面ではグレードアップしてるとは実感してる

263 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 19:48:44.21 ]
ロケールとかエンコーディングとかは
やはりCJKの人間が関わらないと厳しいのだろうか

264 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 20:01:58.53 ]
D的には内部コードは全部Unicodeだからロケールとかエンコーディングとかは入出力まわりだけどうにかなればいい。
文字コード透過性だのなんだのは内部コードをUnicodeに決め打ってる時点で捨ててる。
だからsetlocaleだのmbなんたらだのは要らなくて、
「ファイルをOSのロケールからUnicodeに変換しながら読む」程度の機能さえあれば充分なはず。

265 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 20:30:11.17 ]
これも入出力の他の部分が決まらなくて足止め食らってる感が

266 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 20:39:23.17 ]
ロケールは通貨記号とか日付の書式とかにも係わってるから入出力だけじゃないけどね

いや入出力なのか?



267 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 20:44:13.31 ]
>>266
そういうのは、あっても使われないから問題ない。
日本でも数字区切りを3桁で区切るか4桁で区切るか、12/31って書くか12月31日って書くか、
頭に円記号を付けるか最後に漢字で「円」って付けるかなんてのは
ハッキリ言って用途次第アプリケーション次第であって、OSの設定を拾って切り替わったりしたら逆に迷惑な場合がほとんどだろ。

268 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 20:49:38.40 ]
そのOSの設定を拾う(「今の設定は"ja-JP"だ」とか)APIくらいあってもいいとは思うけどな

269 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 22:45:42.67 ]
実際そのあたりあまり使わないけど
年/月/日 月/日/年 日/月/年 の順番あたりは
使わなくもないかなあ

270 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 22:48:12.52 ]
>>264
メモリ上のデータのエンコーディングを変えたいって事は結構ある
入出力にも当然必要だけど、バイト配列と文字列の相互変換も必要

271 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 23:11:00.27 ]
>>270
「OSの現在のロケールのエンコーディング」と「内部コードであるUnicode」以外は
「標準ライブラリ」でやらずに、iconv(をDでラップしたライブラリ)にでも任せるべきだと思うんだ。

272 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 23:15:55.10 ]
>>270
ああ、>>271はちょっと違うな、ごめん。
toMBSzはAPIコールに特化してるけど、こいつの逐次処理やストリームからの読み書きに便利な版が必要って話だよね。
それなら賛成。

273 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 23:47:12.19 ]
内部はiconvでもその程度は標準で欲しいなあ
.NETのEncodingは便利よ

274 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 01:15:11.26 ]
ガラパゴスプラットフォームが待たれる

275 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 02:05:14.38 ]
かなり緩いBSDライセンスですら取り込まない体制なので、iconvも独自実装でないと標準には

276 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 02:15:22.21 ]
とにもかくにもdio



277 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 03:13:57.16 ]
基本はboostライセンスなんだっけ?

278 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 07:49:17.83 ]
boostライセンスだな

279 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 00:09:05.29 ]
ならiconvは厳しいか
エンコーディングの実装にOSの機能はどこまで使えるのだろうか

280 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 00:33:03.90 ]
まずOSによって対応エンコーディングに差がある、同じエンコーディングでも微妙にテーブルが違う、
Linuxなんかではlibcのロケール関数を使うことになるが言うまでもなくコイツの仕様は酷過ぎる上にBSD系と動作が違う
MacだとCoreFoundationをリンクしないといけない、Windowsだとエンコーディングを数字で指定するがこれと
他OSでLANG環境変数で指定したりするエンコーディング名と一対一対応があるわけでも勿論無い

……とまあそんな感じなので、iconvに丸投げが一番楽よ。
API自体はWindowsが一番整備されてるかな、よく言われるように変換テーブルが多少独自なのを除けば。

281 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 01:31:14.64 ]
まあ各国でよく使うエンコーディングが
自国版のOSで使えさえすればいいとは思うけど
それ抜きにしてもAPIは厳しそうだな・・・

282 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 01:43:05.75 ]
まあWindows以外は、iconvぐらいデフォルトでインストールされてるだろうってのを当て込んで
ダイナミックリンクしてもいいとは思うけど。

283 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 12:55:36.47 ]
std.encoding.EncodingSchemeから派生させて、EncodingSchemeCP932とか作ればいいのかな?
www.kmonos.net/alang/d/2.0/phobos/std_encoding.html
中身は、変換テーブルでやるなり、iconv呼ぶなりして

284 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 16:56:35.51 ]
>>283
俺初めてstd.encoding見たけど、dchar : 他のエンコーディングの複数バイト が常に 1 : n なのを想定されてないかこのインターフェース?
誰かウォルたんに合成文字の存在を教えてあげないと。

285 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 13:47:51.03 ]
>>101のバイナリを入れたんだけど、
VBのScriptControlからEvalしても何も帰ってこない。

ScriptControl1.Language = "DMDScript"
MsgBox ScriptControl1.Eval("1") 'Empty
MsgBox ScriptControl1.Eval("+") 'Anonymous(1) : Error: expression expected, not 'EOF'

エラーは出るからそれなりに動いてはいるようだけど、だれか助けて

286 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 11:46:51.26 ]
DLFってクレジット表示なしで商用利用可能なんだっけ?



287 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 12:13:48.37 ]
DFLか?

288 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 12:54:06.05 ]
そう

289 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 14:16:46.65 ]
3タイプのうち、普通に使う分にはzlibライセンスになると思う
表示なしでいい

290 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 14:34:23.05 ]
なるほど
それじゃDLF使おうかなあ

291 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 15:31:51.26 ]
その前にちゃんと名前を覚えてあげてください

292 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:03:55.36 ]
deprecateの関数置き換えたらobject.Error: Access Violationあああああああああああああ

293 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:29:40.65 ]
extensionがバグってた

Notice: As of Phobos 2.055, std.path.getExt has been scheduled for deprecation in February 2012. Please use extension instead.
getExtの代わりに使えってかいてあるけど動きが違ってた

void main()
{
string fname = "aaa.ext";
assert(std.path.getExt(fname) == "ext");
assert(std.path.extension(fname) == ".ext");
}

報告できる方よろしくお願いします。
それとも仕様変更だったり?

294 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:32:43.33 ]
>>291
ワロタ

DFLは、バグで結構やばい動作することがあるって話があったから、商用で使うなら
気をつけた方がいいぞ

295 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:33:25.70 ]
>> 293
これは仕様変更。

296 名前:デフォルトの名無しさん mailto:sage [2011/10/08(土) 20:37:33.04 ]
>>295
やっぱり?
.NETとかも'.'ついてるし'.'ないと分割した後単純に結合できないしやっぱりそうなのかー
コードの拡張子比較してるとこ全部直さないと・・・・



297 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 00:20:28.16 ]
自分でgetExtを再実装すればいい

298 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 02:19:18.44 ]
listdirとかisabsとか自作してる俺ェ…

299 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 13:11:48.66 ]
GCCにDのフロントエンドが取り込まれるらしい

実際にGCCにコンパイラが組み込まれたら
今までみたいに自由気ままに破壊的変更できなくなるんじゃなかろうか

300 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 13:18:03.43 ]
本家が変わらず火星なら、Iainの人が血を吐きながら頑張るだけじゃねーの
利用者とフィードバック増えるとむしろスムーズに進化できる可能性も

301 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 13:25:15.96 ]
ideone.com/IuwjS

removeの仕様がイケてないというか、テンプレート対応がしょぼいというか・・・


302 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 13:34:23.79 ]
.NETレベルのライブラリがないと普及しないお

303 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 13:40:17.44 ]
removeはどうせ二つ用意するなら名前変えればよかったのに

304 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 14:12:55.14 ]
pythonにはそういうライブラリあるの?

305 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 14:29:28.99 ]
>>301
違うな。俺が間違ってた。ごめんよ、ごめんよ

306 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 10:29:16.53 ]
D -> Go
DMDScript -> Dart

さようならうぉるたん



307 名前:デフォルトの名無しさん [2011/10/13(木) 13:03:52.61 ]
そうなんだ、すごいね

308 名前:デフォルトの名無しさん mailto:sage [2011/10/14(金) 12:17:05.74 ]
訃報: C 言語の開発者、デニス・リッチー氏が死去
ttp://developers.slashdot.jp/story/11/10/13/0224245/

Google+ で Rob Pike 氏が語ったところによると、C 言語の開発者、K&R の R であるところの Dennis Ritchie 博士が亡くなられた。
70 歳 (Rob Pike 氏による Google+ への投稿) 。

長らく闘病中だったとのことで、先週末に自宅で息を引き取ったそうだ。

309 名前:デフォルトの名無しさん mailto:sage [2011/10/14(金) 15:40:28.43 ]
この人達がBからCを作らなきゃDもなかったし他の派生言語もなかった
黎明期の偉大な人たちが次々去っていくなぁ

310 名前:デフォルトの名無しさん mailto:sage [2011/10/14(金) 15:59:55.43 ]
ttp://cpplover.blogspot.com/2011/10/dart_13.html
某Dの人がDart->Dに置換しても通じるとか書いてるから読んでみたら
予想を遙かに超越してDそのまんまだった

まあDはC++も駆逐するけどな

311 名前:デフォルトの名無しさん mailto:sage [2011/10/14(金) 17:07:49.36 ]
はてブのコメントにマジレスの嵐w
Dart触ってみようかな。結局Goは敬遠してしまったし。

312 名前:デフォルトの名無しさん mailto:sage [2011/10/14(金) 17:44:36.58 ]
>>310
C系の記法から「常識的に考えて」導かれる記法だからねえ。
DはGCへの依存を弱めた記法を確立してbetter Cとしての立場を強めるとか
Variantを活用できるようになればなと思う。


313 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 14:04:18.25 ]
iPhoneやらUbuntuやら、巷では破壊的変更に飛び込む勇者だらけなのに

指をくわえてみているだけのD言語erは まさかいないよな?

314 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 17:09:54.34 ]
アップルが嫌いだからiPhoneには関わりません

315 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 20:16:42.25 ]
一見破壊的にみえるだけで実は既存のものを延長した結果
という場合もあって一時的に不安定になるけど山を越えると
また安定してくるという…繰り返される歴史

山が高すぎると超えられない。というのもそれなりにありそうだけども

316 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 21:20:44.29 ]
メモリ関係でバグが出ると挫折する



317 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 22:06:47.85 ]
OPTLINKのバグとは戦えない

318 名前:デフォルトの名無しさん mailto:sage [2011/10/15(土) 23:16:06.35 ]
clangみたいにオープンな開発にすりゃいいのに
ウォルたん的にも別にクローズドな開発にする必要なさそうなもんだけど
せっかく発展の余地があるのにもったいない

319 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 22:55:27.87 ]
dってオープンソースじゃなかったんですか

320 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 22:59:05.96 ]
肝心なところは秘密

321 名前:デフォルトの名無しさん [2011/10/18(火) 18:31:28.75 ]
えっ

322 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 01:06:12.82 ]
Webで使う分には実用に耐えるんですかね?


323 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 22:33:35.30 ]
規模にもよる

324 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 22:38:28.33 ]
CでWebアプリ書ける人なら楽勝

325 名前:デフォルトの名無しさん [2011/10/19(水) 23:50:24.13 ]
だね

326 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:11:13.61 ]
ideone.com/4V7My
テンプレート関数のマングリングがおかしい件

map file の tfunc を検索すると文字化けしてるのがわかる(WinXP 32)
やっと突き止めたぜ・・・




327 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:23:35.05 ]
もしかしてこれでOPTLINKの謎エラーが消滅するのか

328 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 01:37:23.43 ]
>>326
見落としがあった。保存するファイル名によって再現しなくなるwww
テンプレート云々じゃなくてトータルの文字数カモシレナイ

329 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 02:01:22.70 ]
test.dで

void o123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234(){}
void main(){
略();
}

だと正常、1文字付け加えると文字化けか
正常な場合は
_D4test115o123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234FZv
で丁度128文字だしトータル文字数で確かに間違いなさそうだね

330 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 02:14:16.76 ]
連投スマソ
マングリング後の修飾名の文字数→上限128文字を超えると化けた
Windows のみかも。ideoneでは再現せず
ideone.com/9TWvd

長いモジュール名(std.algorithmとか)ついたテンプレート使うと
簡単に引っかかっちまう

331 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 02:18:35.09 ]
連投スマソ と書いたけど先越されたw まあいいや
バグ報告しとく

332 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 03:59:19.24 ]
d.puremagic.com/issues/show_bug.cgi?id=6831
直せオラ! で押し通せばよかった・・・つかれた

333 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 10:57:51.06 ]
>>332
速攻でコメが来てる
・optlinkを直さないと対応できない
・linkerを書き直す計画はあるけどいつになるかわからん

やっぱりoptlinkは切らないとダメだな

334 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 19:02:40.75 ]
C/C++のプログラムをソースのみで配布するのは
社会に対する罪だと気づいた

335 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 19:35:40.51 ]
うん

336 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 20:23:27.57 ]
その点Dのソースならガリガリ修正する楽しみがあって抜群の社会貢献度



337 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 00:00:58.48 ]
optlinkってoptasmとなんか関係ある?

338 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 15:06:13.85 ]
ないと思う

339 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 11:10:54.16 ]
D1からD2に移行したらDLLを動的ロードして使う部分で
謎のエラーというか色々意味不明な現象が発生するんで調べてみたら、
TLSのせいで複数回DLLがロードされているせいだった
なんちゅう盲点や

340 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 11:47:41.59 ]
データ領域は徹底的にデフォTLSにする方針だからなあ
知ってればどうってことないけど、チュートリアルでなるべく周知してかないと
他言語から移行する時の軽いハマりポイントになるかもね

スレッド大量に作るような方向へ向かおうとするんだと、
将来的にTLSでの静的初期化はもっと書きづらくして気軽にやれなくなったりして

341 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:21:11.00 ]
エラーになってくれればいいが何が起こるかわからんというのは困る

342 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:29:20.71 ]
そういう意味ではCとのインタフェースを残しているのがすごくマイナス

システム言語の看板を掲げるならデバッガが強力じゃないとつらいな

343 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:55:56.49 ]
そもそもスレッドを考慮して無いdllの造りが悪いんじゃないの?

344 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 19:17:08.83 ]
俺の為のチラ裏メモ
TLS = Thread local storage

345 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 19:28:29.22 ]
Walterは特にCライブラリをダイレクトに使えるのを大事にしてる気がするので、
避けては通れなさそうなんだよな。
Cなんて実質原始CLIみたいなもんなんだけど、デフォTLS前提としない言語外環境との連携をどう考えるか。

素のstatic thisはスレッド毎に走るのに注意、shared static thisはロックに注意、で当面しのぐしか無いがー

346 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 20:27:56.44 ]
スレッド使ったことないからその辺平気だぜ



347 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 10:38:48.83 ]
Visual Dの更新キタ
phbosでF1ヘルプ参照できるようになった

mago debugger を選んだ場合の機能が強化されてるみたいだがよくわからん

348 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 21:18:01.54 ]
特に理由はないんですが、GCJの過去問をDで解いてみようと思いました。
今日初めてD言語に触りました。
TopCoderとかのプログラミングコンテストでC++を使う場合は、
#defineを使ってforループの凡ミスを防ぐためにこんなことをします。

#define rep(i, n) for(int i=0; i<n; i++)

こうすることで以下のようなバグをなくすことができます。
for(int i=0; i<n; i++) {
  for(int j=0; j<n; i++) { // i++がバグ
    // do something
  }
}

代わりにこう書けるので、これに関してはバグがなくなります。
rep(i, n) {
  rep(j, n) {
    // do something
  }
}

D言語でも同じようなことができますか?
できないなら諦めますが、できるならその方法をご教示ください。

349 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 21:28:35.26 ]
Dにマクロはない。ので、同じことはできない。
代替の方法については、その例に限っていえばループを

foreach (i; 0..n) { // do something }

で、書けばバグを防ぐ役目は果たせるな。
もしくは
void rep(size_t rn, void delegate() dg) { foreach (0..rn) dg(); }
↑こういうのを定義しておけば
↓こう書ける。

rep(n, { // do something });

350 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 22:56:40.38 ]
C++でももうすぐforeach的なものが使えるからそれでいいじゃないか

351 名前:348 mailto:sage [2011/10/26(水) 22:59:11.58 ]
>349
即レスありがとうございました。
動作させることができました。
拡張性が高そうなので
foreach(i; 0..n)
を使うことにしました。
foreach(i; 1..n)
とかになっても簡単に書けそうなので。

とは言っても、もともとTangoを使っていて、それだと
foreach(i; 0..n)
がコンパイルできなかったので(found '..' when expecting ';' following 'for condition')、Phobosにコードを書き変えました。
PhobosだとWindowsでコンソールアプリを作るときに、文字化けしたと思うので、ちょっとイヤなんですが...。

352 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 23:01:25.17 ]
>>348
構文をこういう風に独自defineする人間の神経は疑うけどね

353 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 23:28:04.58 ]
tangoなんか使ってると恐い日本人コミッタのお兄さん達に睨まれるぞ

354 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 23:49:54.92 ]
にらまれてるしw

355 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 07:17:55.57 ]
dmd 1.071 and 2.056 release

356 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 11:31:57.49 ]
www.d-programming-language.org/intro-to-datetime.html
std.datetime の解説記事ができてた。

だれか翻訳をt(ry




357 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 13:39:27.54 ]
知ってるだろ? 法則があるのをさ……。

358 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 16:45:13.81 ]
Kには近づいてはならない!

359 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 19:04:21.39 ]
>>356
おお、簡潔な解説が出たのか!と思って行って著者名を見た時の絶望感

360 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 23:43:09.19 ]
> dmd 1.071 and 2.056 release

今回のreleaseの大きいところは
Bugzilla 3748: inoutがまともに動くようになった
Bugzilla 3659: structのopEqualsシグネチャ制限がなくなった
Bugzilla 4022 他 CTFEでAAが結構まともに動くようになった
辺りかな。

361 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 00:00:52.95 ]
AAがなんの略だかわかんなくて五分くらい真剣に悩んだけど連想配列か

362 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 00:41:21.27 ]
> 360
dusers.dip.jp/modules/forum/index.php?topic_id=106

もう少し細かく書いた。

363 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 00:53:39.18 ]
今回のBugFixは、Regressionのが多いね

364 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 07:15:26.25 ]
いつも乙
D2もいよいよ安定してきてしまった感が

365 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 11:01:12.68 ]
バグフィックスの数に騙されるな
新たなバグもどんどん増えているぞ
コンパイルできないたすけて

366 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 13:15:23.42 ]
落ち着いて全部のライブラリをビルドしなおすんだ



367 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 13:32:44.02 ]
GUIライブラリってある?


368 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 18:54:26.37 ]
あるよ

369 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 19:01:44.43 ]
---
do
 if (derived is base)
  return true;
while ((derived = derived.base) !is null)
return false;
---
2.055までこれがコンパイル通ってたという事実に驚愕しきり

370 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 20:00:20.97 ]
>>368
たとえば?

371 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 21:09:23.72 ]
dusers.dip.jp/modules/wiki/?Libraries

372 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 21:22:12.52 ]
DFL,DWT(2),wxD,gtkD,QtDは去年の段階ではかろうじて生きてた
そこに載ってる他の奴は…死んでるねぇ…

373 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 22:22:37.03 ]
>>369
そういうのは結構あると思う。
メチャメチャな文法はテストしにくい。
壊そうと遊んでたらいくつか見つけたことがある

374 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 03:48:19.15 ]
DFLの非公式githubは生きてる

375 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 06:58:28.32 ]
ライブラリフルコンパイルしたら案の定通らねーwww

376 名前:デフォルトの名無しさん mailto:sage [2011/10/29(土) 17:32:00.40 ]
なんの?



377 名前:デフォルトの名無しさん mailto:sage [2011/10/30(日) 03:46:05.26 ]
これしき

378 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 22:41:45.56 ]
そういうのいいから

379 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 23:03:33.24 ]
base a=new const(derived);が通る?

380 名前:デフォルトの名無しさん mailto:sage [2011/11/01(火) 14:01:45.55 ]
const は全くアテにならない

381 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 00:39:57.71 ]
そんなー

382 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 00:56:58.89 ]
>> 369
do { ... } while(...) の後に;が必須になったやつか。
それは確かに自分も驚いた。

383 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 12:01:24.45 ]
おー、気づかなかったw
罠にしかならないから do - until に変えてほしいわ

384 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 11:27:22.63 ]
GUIはfxlibが最低限の機能持ってて満足

385 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:44:57.79 ]
DWT2め、Tableにマルチバイト文字を長々と表示させて
スクロールさせまくると表示だけ固まりやがる

386 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 01:15:46.11 ]
std.socketってどう変わったの?



387 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 01:31:47.86 ]
重くなった

388 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 19:24:23.17 ]
そういえばstd.loaderってあるけどあれなんなの?
使って大丈夫なの?

389 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 21:35:45.31 ]
>>388
今見てみたら…
Windowsの部分は、Ansi系APIつかってる (Unicode文字を含んだPATHからは読み込めない)
しかもUTF-8←→Ansi変換が全くされてない (ノ∀`)アチャー

390 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 23:28:02.22 ]
これだから外人は

391 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 23:51:01.39 ]
ウォルター「え・・・」

392 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 13:08:11.03 ]
dmdでコンパイルしようとしたら、
OPTLINKのエラー(Error 42:Symbol Undefined)が大量に出てきた
visualC#を直前に入れていたので、C#アンインストールしても、
dmd入れなおしても直んないんだけど、どうすればいい?

以下エラー内容の最初の方
OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 23: No Stack
test.obj(test)
Error 42: Symbol Undefined _D3std5stdio4File6__dtorMFZv
test.obj(test)
Error 42: Symbol Undefined __d_local_unwind2
test.obj(test)

393 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 13:10:33.20 ]
詳細書くの忘れてた
windows7 Ultimate 64bit版で起きた現象です

394 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 13:42:33.22 ]
main() が無い

395 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 16:09:19.80 ]
>>390-391
素人以下wwwwwwwww


396 名前:392 mailto:sage [2011/11/07(月) 17:24:59.79 ]
main()は書いてる。
dmdをinstallerで入れなおしたらエラーが下に変わった
(エラー内容抜粋)
OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
www.digitalmars.com/ctg/optlink.html
C:\D\dmd2\windows\bin\..\lib\phobos.lib(dmain2)
Error 42: Symbol Undefined _WideCharToMultiByte@32
C:\D\dmd2\windows\bin\..\lib\phobos.lib(dmain2)
Error 42: Symbol Undefined _LocalFree@4



397 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 18:18:07.51 ]
環境変数LIBがあやしい

398 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 22:55:54.28 ]
LIBってsc.iniで上書きされなかったっけ。
dmd入れ直してるならシロの気もするけど。


399 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 23:50:37.62 ]
Windows 64bit って動いてたっけ?

400 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 23:53:31.18 ]
win7 premiumだけど普通にコンパイルもリンクもexeそのものも動いてるよ
64bitのexeファイルが生成されてるわけじゃないけど

401 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 00:50:13.18 ]
コンパイルオプションで 64指定しなきゃいいのか
なるほど、思い出した

402 名前:sage [2011/11/08(火) 03:20:18.41 ]
Windowsで生成されるコードは常に32bitコードだよ
実行したプロセスをタスクマネージャで確認すれば判る

403 名前:デフォルトの名無しさん [2011/11/08(火) 04:46:18.03 ]
Windowsバイナリ生成に関して、 64bit版生成オプションは 存在してません。(キッパリ

404 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 22:05:18.25 ]
std.container.RedBlackTreeを使っていて、
「A以上B未満」な要素を列挙したいんですけどなんかうまい方法ありますか?
upperBoundとlowerBoundの両方を適用できたら楽だったんですが

405 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 23:26:40.42 ]
もうやだこのOPTLINK…

406 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 00:57:10.96 ]
std.containerの中身はtakeだのwalkなんとかだの!魔界か!



407 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 01:37:29.92 ]
BufferedFileにSJISテキストかませると死ぬのどうにかなりませんか・・・

408 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 12:45:00.74 ]
ideone.com/kdNYw

こんな感じにforeachループ内で各ループのスコープ時の変数を
それぞれdelegateに渡したいんだけど、結果が全てループの最後の
時のもので処理されてしまうのです。何か良い方法ありますか。

Javaのfinal的なものが必要?

409 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 13:09:25.44 ]
ループ変数が使い回されてるのが原因だから。
対策はこんなか ideone.com/AZrzo

なんか既視感あるな

410 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 13:33:53.70 ]
なるほど、bindでいけるんですね。
ありがとうございます。

411 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 13:36:42.50 ]
じゃない、引数で生成時に渡してやればいいんですね。

412 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 18:22:23.63 ]
jsでよく見るパターン

413 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 21:03:39.39 ]
JavaScriptの問題点を前向きにあげてけ

new演算子がキモい

414 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 21:14:35.12 ]
about D programing language only

javascript shit

415 名前:デフォルトの名無しさん mailto:sage [2011/11/11(金) 21:40:56.68 ]
誤爆しました

416 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 01:28:11.08 ]
go back



417 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 02:26:42.38 ]
Fuck'in Javs

418 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 05:36:52.67 ]
今年後半に入ってから随分更新が静かだと思ってたけど64bit版開発してたのかよ。
しかもD1のも
普及に向けて本腰を入れ始めたか

419 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 06:20:03.53 ]
Deimosには死ぬほど期待している

420 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 08:00:00.23 ]
いや、だからioどうするんだよw

421 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 10:22:58.26 ]
>>418
その情報を知った場所を教えてくれないかい

422 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 13:06:56.99 ]
D関連ページを www.digitalmars.com から d-programming-language.org へ引越ししてるみたいだね

423 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 13:11:01.81 ]
URLのリダイレクトが設定されて
>>159 が解消される

424 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 15:27:44.01 ]
d-programming-language.org/new/
こっちの話か

古いサンプルコードが動かないみたいな
積もりに積もった問題を一気に直す積もりかな

425 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 20:26:51.95 ]
英語わかんない僕はどうすればいいですか><

426 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 20:32:43.31 ]
つExcite翻訳
つGoogle翻訳



427 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 21:07:56.39 ]
英語と米語とC語をまずマスターしろ
それからD語


428 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 21:23:40.19 ]
英語圏は滅ぶから日本語だけ覚えとけば問題ない

429 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 22:22:33.63 ]
つ 日本語プログラム言語「なでしこ」

430 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 23:25:25.89 ]
滅ぶとして、でも日本のほうが滅ぶの早そう

431 名前:デフォルトの名無しさん [2011/11/15(火) 09:28:26.93 ]
全ての起源である韓国語が一番無難じゃないかな

432 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 07:24:16.84 ]
韓国が起源ニダ

433 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 20:36:48.26 ]
もうやだoptlink
別のリンカ使いたい

434 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 21:29:12.10 ]
omf に対応したリンカはなかなか無いなー

誰かOpen Watcom C でなんとかできる猛者はいないか


435 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 22:59:52.71 ]
omf捨ててcoffになって欲しい

436 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 23:38:33.99 ]
GDCいやなんでもない


結局「コンパイルが速い」(キリッ

とか言ってる裏でその辺が犠牲になってるんだよな



437 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 23:40:49.60 ]
Windowsユーザに逃げ場なし

438 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 00:48:50.95 ]
悪いことしてるわけじゃないんだ
逃げずに堂々としてればどうとでもなる

439 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 08:14:04.36 ]
堂々としてたらサービス残業代不払いでも問題ないって言うのか?

440 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 10:37:04.13 ]
おかしなことを言うやつだな
不払いで良いからサービス残業でしょう?

441 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 11:29:55.78 ]
いや、うぉるたんにギャラを出しましょうって話しだろ

442 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 13:32:30.45 ]
いまだにDigital Marsがどんな組織なのかわからん

443 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 13:33:27.63 ]
解説キボンヌ

444 名前:デフォルトの名無しさん [2011/11/19(土) 16:31:22.61 ]
え?

445 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 18:37:27.38 ]
>>444
hibari.2ch.net/test/read.cgi/tech/1261676778/213
hibari.2ch.net/test/read.cgi/tech/1272358443/83
hibari.2ch.net/test/read.cgi/tech/1321350331/22
hibari.2ch.net/test/read.cgi/tech/1318935200/82
hibari.2ch.net/test/read.cgi/tech/1290415962/444
hibari.2ch.net/test/read.cgi/tech/1314133332/444
hibari.2ch.net/test/read.cgi/tech/1315141054/25
hibari.2ch.net/test/read.cgi/tech/1321282584/4
hibari.2ch.net/test/read.cgi/tech/1156332916/186
hibari.2ch.net/test/read.cgi/tech/1177431417/279
hibari.2ch.net/test/read.cgi/tech/1295493964/744
hibari.2ch.net/test/read.cgi/tech/1300000513/237
hibari.2ch.net/test/read.cgi/tech/1163319215/911

446 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 21:27:16.82 ]
同人サークルかなんかじゃないの?



447 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 23:37:29.27 ]
税金対策の個人企業で
たまにパッケージングのアルバイトが呼ばれる、と妄想

448 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 00:49:24.40 ]
何かつくろうよ

449 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 01:13:25.28 ]
何を作るか決まったら起こしてくれ

450 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 23:25:13.20 ]
>>449
SICPをひたすら実装

451 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 00:01:32.19 ]
新しいリンカ

452 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 00:22:12.89 ]
Dのあのマスコットがカンフーアクションするゲーム

453 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 16:22:19.19 ]
win用のリンカとデバッガを作り直して
64bit対応とともに玉砕しようぜ

454 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 22:20:44.35 ]
>>453
がんばれ

455 名前:デフォルトの名無しさん [2011/11/24(木) 21:18:31.16 ]
lua組み込みたいんだけどはやりのバインダとかある?
環境はwin32

456 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 22:09:53.24 ]
ttp://code.google.com/p/dlua/



457 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 22:16:37.18 ]
ttp://www.dsource.org/projects/bindings/wiki/LuaLib

458 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 23:13:55.19 ]
意外と最近まで生きてるのな

459 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 23:42:19.95 ]
LuaDってのもあるが前に使った時は使い物にならん感じだった。
今は知らぬ。

460 名前:デフォルトの名無しさん [2011/11/25(金) 03:26:35.41 ]
LuaLibを組みこんだ。
今のところ動いている…ぽい。

461 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 13:48:11.18 ]
今困っているという訳ではないが

DDOCの仕組みって
環境依存で出力されなくなる関数( version (Windows)とか )
をちゃんと処理できるんだっけ?

462 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 02:37:03.24 ]
やったことない

463 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 03:04:36.57 ]
eclipseにプラグインのDDTをいれてやってるんだが、急にoptlinkが出るようになったorz
それまでコンパイルできてたプロジェクトもexe吐けなくなったし
コンソールから打ってもdmdなんてないぞって怒られるし、敷居高すぎだろ・・・

464 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 11:54:40.75 ]
ttp://ja.wiktionary.org/wiki/%E6%95%B7%E5%B1%85%E3%81%8C%E9%AB%98%E3%81%84

465 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 18:03:29.34 ]
うむ、そこは閾が高いというべきだな

466 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 19:24:14.09 ]
>急にoptlinkが出るようになったorz
optlinkが出たんじゃどうしようもねぇな…



467 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 19:57:32.55 ]
TIOBE のシェアはやはり下降トレンドだな

468 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 23:37:09.23 ]
>>463
どうしてPATHの確認とかしないの?

469 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 20:40:11.27 ]
ちょっとしたプログラムを2.055を使って作っててバイナリサイズが980kbだったんだけど
2.056に変えたら一気に2289kbになった Dってこういうものなんかー


470 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 21:30:38.88 ]
なんだなんだstd.datetimeをリンクでもしたのか

471 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 23:24:49.36 ]
changelog 2.056が見れなくなってる・・・おいおい

472 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 06:25:24.80 ]
DでWindowsのShellExtensionは作れますか?

473 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 20:08:56.01 ]
作れます

474 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 00:05:47.09 ]
おい、phobosのコミッターに坂本真綾好きがいるぞ・・・

475 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 00:15:39.02 ]
それジョナさんだよ

476 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 12:05:55.54 ]
std.datetimeってどうしてあんなに巨大になったんですか?



477 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 13:26:36.94 ]
2.056のバイナリがでかくなるのは phobosが原因なのは分かってる

std.windows.registory の *W 関数への対応
これがあやしい

>>476
機能ごとに分割してくれと散々言われてるけど押し切れないらしい

478 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 17:10:14.09 ]
よくみてないけど、あのサイズなら、汎用化して別のライブラリとして切り出せる要素があるんじゃないかな。

479 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 19:33:06.42 ]
サイズはともかくdur!"seconds"みたいな書き方が微妙…
文字列にすることになんかメリットあんの?

480 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 19:48:52.22 ]
定義する必要のない識別子(rubyで言うところのシンボル)の代わり

481 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 20:48:23.64 ]
それって完全にDDoc殺してるよね

482 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 21:17:42.80 ]
DDoc殺すってどういうことですか?

483 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 21:56:13.78 ]
DDoc殺しよりIDE殺しのが気になる

484 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 22:28:29.75 ]
DDocにそういう場合の専用の書き方つけたら
IDEがそれを使えるんじゃね?

485 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 23:12:32.09 ]
datetimeじゃなくて core.time 由来だな
alias 切るくらいすればいいのに

486 名前:デフォルトの名無しさん [2011/12/02(金) 23:17:37.95 ]
newで確保できる最大のメモリサイズってどこで定義されてんの。
200Mほどnewしたらハングするんだけど。



487 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 23:38:13.04 ]
GC に時間がかかってるというオチでは?

488 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 23:41:18.62 ]
プロパティ使おうとしただけなのに怒られる><
ideone.com/M6sbF

489 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 23:47:19.09 ]
>>488
目を覚ませ ペシペシ

490 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 00:49:47.07 ]
d.puremagic.com/issues/show_bug.cgi?id=6767
ワロタ

491 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 01:02:51.70 ]
なんだMacか。どうでもいい。



・・・・あれ?!

492 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 13:23:34.08 ]
まるで日本人が書いたような英語だな


493 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 14:25:26.53 ]
範囲比較でもジャンプテーブルでもなく
全部個別で比較してんのかw

494 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 15:01:09.13 ]
Cのtemplateを嗤えない

495 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 15:26:55.25 ]
case long.min: .. case long.max:
とか書くなよ!絶対書くなよ!

496 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 15:36:22.04 ]
>>495
くらえ!
mixin(import("case_range_bomb"));



497 名前:デフォルトの名無しさん [2011/12/03(土) 15:45:52.77 ]
>>495
弾かれるけどな
Error: had 18446744073709551615 cases which is more than 256 cases in case range

498 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 16:42:33.22 ]
phobosって-property付きでコンパイルできるようになってるの?

499 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 15:56:14.95 ]
やってないけどDなら出来ないんじゃない?
気になったんだけど@propertyって今後無印の関数を()無しで呼び出せなくなるフラグ?

500 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 18:33:57.17 ]
そうでしょ

501 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 19:41:32.73 ]
>>498 いまその作業やってる。
https://github.com/D-Programming-Language/phobos/pull/342
ためしてみるといいよ。

502 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 20:50:08.62 ]
>>501
ざっと斜め読みしてたら吹き出した

503 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 01:02:11.63 ]
えっ newするときカッコなんか書きたくない!!

504 名前:デフォルトの名無しさん [2011/12/05(月) 01:21:26.57 ]
newは変わらんだろC++的に考えて

505 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 12:41:15.80 ]
C++は括弧の有無で結果が変わるからなあ

506 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 19:24:34.67 ]
@propertyついてるコンストラクタは見かける
でもなんというかぞっとしないな



507 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 20:45:45.99 ]
どっちだ? ぞっとする/ぞっとしない

508 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 20:56:53.14 ]
ぞっとする:恐ろしい、寒いetcぞっとしない:面白くない、つまらない、感心しない、興味・関心がわかないetc

意味がちがう。

509 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 21:01:53.15 ]
でもこういうのって「ぞっとする」がどう見ても通じない場面じゃないと通じないよね
Dは普通にぞっとさせてくるし

510 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 21:05:18.09 ]
本とかあまり読まない人には通じないのかな?
まあ、否定形なのに対称をなしてないからわかりにくいのは確かだけど。

511 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 21:08:00.31 ]
ぞっとしない の反対は ぞくっとする なのかな

512 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 21:14:49.68 ]
「鳥肌が立つ」が寒さと恐怖・嫌悪と興奮・感動の両方を表わすという問題だわな
英語でもgoose bumps, chill, terrible/terrificが寒さ・恐怖・興奮の多義語だし
日本語の歴史中でも中世の「すごし」が寒いと嫌悪と興奮の多義語。
ぞっとする、ぞくっとするも同じカテゴリだわな

513 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 22:40:30.11 ]
ここではDの言葉で話せ

514 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 01:37:48.78 ]
公式ページ更新されたっぽいけど Change Logやっぱり見れねー
なにしとん

515 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 08:06:47.61 ]
まるで、

 日本語 Part28

みたいだな。

516 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:36:55.85 ]
dblog.aldacron.net/
おまいら、俺だけのけ者にしてこっそりニュースブログ見てたな
ぜったいにゆるさない!



517 名前:デフォルトの名無しさん [2011/12/07(水) 13:53:05.52 ]
>>516で知ったけどVisualDにC++ Conversion Wizardなんて出来てんじゃん
・・・まあ気休め程度かな

518 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:30:41.92 ]
数年前に作った50行くらいのプログラム修正して2.055でコンパイルしたら
本当に200KB -> 1MBになったwww
ぱねぇwww

519 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:50:37.71 ]
2.056はどや?

520 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:54:21.47 ]
2MBくらいになりそう

521 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:58:44.08 ]
import std.stdio;
void main() { write("Hello World.\n"); }

2.056で HelloWorld は1.04MB

522 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:00:04.35 ]
このサイズは一体何に使われているの?

523 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:22:53.25 ]
linux 32 bitで

% dmd | head -1
DMD32 D Compiler v2.056
% dmd -ofmain -O -release main.d
% strip main
% ls -lh main
-rwxrwxr-x 1 c c 189K 2011-12-07 23:19 main*

200kBくらい?

524 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:24:46.37 ]
stripしちゃらめえええ

525 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:37:22.61 ]
extern (C) void printf(in char* format, ...);
void main() { printf("Hello World.\n"); }

2.056でこれだと 154kB
phobosはかさばるなぁ

526 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:41:27.65 ]
Windowsバイナリcygwinでstrip出来ないんだけどみんなそう?



527 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:14:20.57 ]
GCついて200KBとかならまだ納得いったがさすがにこれは無いわ

528 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:34:39.63 ]
よくわかんないけどこれって Phobos がテンプレート使いすぎてこうなったりしてんの?
薄いテンプレートイディオムで書き直せば改善されたりしないかな。
std.datetime のコード量もカオスだし・・・。

529 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:24:11.81 ]
すまん>>518なんだが、2.056だったわ

少し前のレス読むと2.055→2.056で急に増えたっぽい
何があったんだろう

530 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 01:11:10.66 ]
HelloWorld1MBワロタ
Dは飽きさせないな

531 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:15:42.16 ]
> HelloWorld 1MB
2.054 -> 2.055 で std.uniに巨大なテーブルが追加されている。
おそらくwritelnがこれを取り込むのでexeサイズが大きくなっている

532 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:17:27.77 ]
>ファイルからでデータを読んでbyteの配列に格納しようとしたら、 メガバイト級のコードが読み込まれた、 という事態は避けたいものです
^^;

533 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 19:42:10.71 ]
マクロまだー?

534 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 03:16:48.17 ]
D1が消えます

535 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 17:33:32.46 ]
2.057出たね

536 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:38:15.43 ]
変更点。中の人は本当に乙
dusers.dip.jp/modules/forum/index.php?topic_id=108



537 名前:デフォルトの名無しさん [2011/12/14(水) 18:55:11.51 ]
enumでinit出来たのか・・・

538 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:55:22.43 ]
例のswitchのはまだまだか

539 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:56:20.11 ]
単にint型のenumを作って
列挙子initをint.initで定義してるだけだな
まあ確かにできるけどw

540 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:14:56.85 ]
enumで思い出したけど
どうせならenumの全メンバをforeachで回させてくんないかな
valuesみたいなプロパティがあればいいんだが

541 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:25:57.64 ]
>> 540
std.traitsにEnumMembersがある

542 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:42:50.78 ]
>>541
そんなのがあったのか
thx

543 名前:デフォルトの名無しさん [2011/12/14(水) 20:51:37.93 ]
>std.regex.replaceに破壊的変更
Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaahhhhhhhhhhhhhhh!!!!!!

544 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:07:19.34 ]
マゾが多いなw

545 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:21:15.01 ]
www.phoronix.com/scan.php?page=news_item&px=MTAyNzI
New Features Approved For Fedora 17

D2 programming language support.

546 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:41:43.74 ]
Change LogでBreaking changeが赤文字になってて吹いた



547 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 01:31:58.13 ]
あれ? std.intrinsic どこ行った・・・?

548 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:44:08.62 ]
さよならTango

549 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:44:36.08 ]
そろそろD2を固定してもいいんじゃないか

550 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 02:56:21.67 ]
マゾが多いな

551 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 07:10:08.79 ]
D3はまだか…

552 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 11:45:55.95 ]
>>547
モジュールとしてはすでにdeprecated, 置き換え先はcore.bitop
Documentからリンクが消えたのは、たぶん間違えて消しちゃったんじゃないかな

553 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 13:02:33.06 ]
>>552
thx

554 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:12:09.44 ]
WindowsAPIのHANDLEはaliasとenum、どちらがいいんだろうか

555 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:13:17.44 ]
intptr_t的なものがいいんじゃね?

556 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:22:17.91 ]
alias intptr_t HANDLE;
かな、普通に考えると



557 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:42:50.13 ]
配列を戻り値にする関数で最後にuniqを使いたいんだけど

int[] func() {
 int[] values;
 // ...
 return uniq(values);
}

uniqの戻り値って配列じゃないんだよな
というかrange絡みの関数は全体的にそんな感じだ
どうすればいいのやら

558 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:53:09.06 ]
uniq(values);
return values;

559 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:18:30.31 ]
だめだった

560 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:58:46.01 ]
std.array.array

561 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:35:09.07 ]
そっちか!Thx

562 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:13:18.38 ]
@safe pure nothrowたん・・・(*´Д`*)ハァハァ

563 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:15:53.63 ]
@政府 うあ 野田たん・・・(><)

564 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 02:38:12.30 ]
@trustedをつけてまわるだけの簡単なおしごと

565 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 03:05:58.78 ]
なんでAppenderはpureじゃないの

566 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 22:25:57.35 ]
throwする可能性があるからじゃ?



567 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:39:33.94 ]
これ1になるんだけどそういうもん?

ttp://ideone.com/WULc0



568 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:19:15.32 ]
aaA見たけどわかんね

569 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 01:14:34.46 ]
>>567
おてんとうさまがゆるしても
おれがゆるさねぇ

570 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 02:48:56.13 ]
あれ?pureとnothrowは直交してないのか?

571 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 15:58:11.56 ]
>>567
ある意味正しい。

> hoge["fuga"] = hoge.length
左辺の評価でまずkey="fuga"のエントリが確保され、この時点でhoge.length==1になる
その後確保されたエントリにhoge.lengthの評価結果(==1)が設定される。

*(p++) = *(p++)とかと同じようなもの

572 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:02:41.35 ]
>>565
GC関連の関数を内部で直接呼んでいるため。
言語としてはnew式はpure扱いだが、ランタイムのGC関数がpureであるべきかは
newsgroup上の議論でも明確な結論が出てなかったと思う。

573 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:04:05.33 ]
>>570
直交している。Appenderがpureでない理由は>>572の通り。

574 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 20:20:35.80 ]
>>571
なるほど納得した

575 名前:デフォルトの名無しさん [2011/12/21(水) 00:17:01.32 ]
直感的にはhoge.set("fuga", hoge.length);みたいな評価順の方が嬉しいかな

576 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 00:40:50.28 ]
アセンブリ想像出来てれば直感的だし今のでいいと思うけど



577 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 00:43:41.69 ]
右辺で例外が起きたらと考えると、怖いな

578 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:27:27.23 ]
opIndexAssign( "fuga", hoge.length )
こんなオーバーロードないんだっけ?

579 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:36:45.52 ]
>>577
assert(笑);

580 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 01:50:49.40 ]
>>577
STLのコンテナでfront()とpop()が分かれてる理由系の話だね
ideone.com/rBvF3

581 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:13:59.45 ]
D1系のアップデート見てて思ったんだけど
CTFEできる範囲って仕様で明確化されてるの?

仕様に沿ったコンパイラでCEFEのせいで
コンパイルできる事とできない事があるってのはとても困る気がする

582 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:17:28.83 ]
pureなものじゃない?
今@pure付けられる範囲をどんどん広くしていってる気がする

583 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 02:24:56.04 ]
@safeならCTFEできる、ってのもあったような。

584 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 13:21:42.68 ]
ぶっちゃけ、大抵のプログラムは、C#なりPythonなりHaskellなりGoなりの高級言語を使えばよくて、
わざわざ「Cに代わる低級言語」を持ち出す必要はない

一方で、本当にC言語に取って代わろうとするなら、
高級言語を持ち出せない、プアな環境で使えないといけない

・ポインタ演算は手放せない
・GCは使えない
・ポリモーフィズムも使えない
・テンプレートも容量を食い過ぎる
・正規表現を実行時にコンパイルするのは贅沢すぎる
・標準ライブラリーが充実させても意味が無い
・標準でないアーキテクチャをサポートしなければならない

それなら、C言語で十分じゃない?

文字列型?ハッシュマップ?サードパーティ製のを使えばいい

ドキュメント自動生成なら、言語仕様を変更しなくても、Pythonとかでツールを作ればいい

Cのシンタックスがキモいとか、Lisp風マクロとかが欲しいと言うのなら、
JavaScriptに対するCoffeeScriptみたいな物を作ればいい

585 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 13:26:14.29 ]
哀れなD使い達を説得しにきたの?

586 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 14:35:57.36 ]
あちこち手を伸ばしすぎて
かつて売りにしてた機能まで潰しまくる迷走ぶりについては認める



587 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 14:56:03.70 ]
ttp://www.kmonos.net/alang/d/2.0/builtin.html

588 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 16:41:48.27 ]
複素数…

589 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 22:25:33.38 ]
typedefってなんで消えたの?
あの超シンプルに型を作れるところが気に入ってたんだけど

590 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 23:06:14.50 ]
基本的にマクロみたいな機能は無駄です

591 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 09:28:03.36 ]
それってaliasのこと?

592 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 10:52:52.35 ]
alias は便利だけど危うさが漂う
もうちっと機能を狭めてもいい

593 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 11:15:18.32 ]
>>590
そんなんじゃ「そうじゃねーよ俺は便利に使ってんだよ」と反論できちまう
せめて「typedefあるとコンパイラの実装が超大変になるんだよ、わかれよ」くらい言ってほしい

594 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 11:43:45.05 ]
strong typedefはまともにやるとめんどくさいからな。
t f(t, t)って関数があってtからuを新たに作ったときに、t f(u, t)として使えるのが正しいのか
t f(u, u)が正しいのかu f(u, u)が正しいのか。

595 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:11:48.42 ]
ユーザ定義リテラルがあれば
複素数をビルトイン型にしなくてもいいような気もする
(パフォーマンス的には分からんが)

596 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:14:25.88 ]
>>594
やっと納得した
uがどこまでtか微妙なのが仕様的に面倒なのね

あれ、でもenum…



597 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 12:56:34.72 ]
>>595
複素数がライブラリに移動したときにその話はあった
結論から言うとcomplex型とimaginary型を併用することでパフォーマンス的にも問題なく解消する
ただし記述が面倒だからユーザー定義リテラルが必須

598 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:54:02.30 ]
ユーザー定義リテラルを入れたいから複素数リテラルをなくしたのか?
ユーザー定義リテラルを入れなくても、複素数リテラルがあれば、複素数についてのパフォーマンスは元々解決されていたんでしょう。
なくす必要性がまだ見えないんだよね

599 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:07:50.18 ]
コンパイラ組みこみじゃなく、
ライブラリの存在を前提としたシンタックスシュガー化するということかと。
Dならstring→immutable char[]が似ているし、
C#のstringはSystem.Stringの別名だ(と思う)し。

600 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:17:25.54 ]
ユーザー定義リテラルって何ぞ・・・? ガクガクガタガタ

601 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:19:04.64 ]
C99が複素数を言語組み込み、C++が複素数をライブラリ提供してるけど
gccはバイナリ互換性を持たせるために、「コイツは内部的に複素数だ」ってpragma用意してるよね。

Dの複素数もC99の複素数とバイナリ互換性を持ってるはずだが、ライブラリ版はどうなってるんだろう。

602 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 03:55:23.75 ]
>>599
そうするのはなぜだか知ってますか?
ユーザー定義リテラルを導入するならば複素数だけ優遇する必要がないから?

603 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 04:15:55.26 ]
octal!100はどうするんだよ…。
octだったかな

604 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 12:14:29.54 ]
dlang.org てのがまた出来てる
こっちに移るんかな

605 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:11:57.58 ]
当面の間はミラーリングして様子見じゃないの

606 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 01:33:27.78 ]
const(char[])がconst(char)[]に暗黙変換されるようになったんだってな。なんか不具合出ないのかな



607 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 07:19:58.60 ]
仕様も見ずに言うけどref引数だと変換されないんだよね?

608 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 20:31:46.19 ]
ちょっと生理させてくれ

const(char)[]:中身を書き換えられない配列
const(char[]):?? Cのchar a const[] ?? いやそれじゃchar a[]と同じか

609 名前:デフォルトの名無しさん [2011/12/26(月) 23:07:10.07 ]
const(char[]) a, b;
a = b;
が出来ないんじゃなかった?

610 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 23:17:27.56 ]
・・・えっち

611 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:56:23.39 ]
月桂冠

612 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 08:42:56.37 ]
厶板ではここが一番落ち着く

613 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 11:50:14.46 ]
わかるわ
俺もD言語に全く興味ないのに覗いてるしな

614 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 12:05:34.60 ]
あれ、俺がいる

615 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 13:37:36.63 ]
逃げない奴はよく訓練されたD言語erだ

616 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:03:32.31 ]
D言語が落ち着くまで待ち続けるぜ



617 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:08:22.82 ]
UFCSとラムダ式が入るらしい
まだまだ若者には負けんよ

618 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:21:05.99 ]
UFCSって何?

619 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:22:04.16 ]
Windows版64bit対応くらいしてくり

620 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:23:30.80 ]
Universal Fire Contol System

621 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 21:47:40.01 ]
これで敵軍も拾った武器で戦えるようになるね! っておい

622 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 10:39:17.88 ]
2.057でもHello, World1MBのまま?

623 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 13:05:42.51 ]
import std.stdio;
void main() { writeln("hello, world."); }

↑に -O -relese -inline 付けて
933404byte=911.5kbyteだった

624 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 14:06:17.81 ]
クソだな

625 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 15:43:07.33 ]
>>622
2.058から220KBに減るよ

626 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 15:50:05.25 ]
別にでかくても実害ないとは思ってるが、小さいバイナリ好きなのもちょっとわかる



627 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 15:58:44.05 ]
>>625
リリース直後にそういう話が出てたから対応済みかと思ってたわ
2.057 に移行する意欲が減退・・・冬眠でもするか

628 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 16:43:49.87 ]
サイズってそんなに重要?
配布するにしても7zとか使えば誤差みたいなもんだと思うんだけどなあ

629 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 17:50:25.84 ]
その辺はPyの文法が許せるかとか
MyClassName instance = new MyClassName();
の冗長性が許せるかとか
そういうレベルの話だと思う。
気にする人もいればそうでない人もいる。

630 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 17:52:43.48 ]
小さいプログラムだと結構嫌だな、サイズでかいの
まあそういうのはDなんか使わないでスクリプト言語でも使ってろって話なんだけど

631 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 18:46:43.46 ]
公開したり、他の人へあげるの、躊躇するよね
大した機能もないのに1MBだと、何か仕込んでるじゃないと勘ぐられそうでw

632 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:04:03.41 ]
upx使うと147kbまでがっつりと減った。
こっちはこっちで抵抗あるとは思うが、いちおう。

しかし900kbってなんかDelphiを思わせるサイズだ。
Dってアルファベットになんか呪いでもあるのかとw

633 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:13:50.50 ]
Deburin

634 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:19:14.70 ]
そのファイルサイズ、大きいように見えるでしょ?
でも、実際にはOSのシステムファイルと共通してる部分が多いから、実際にはそんなにサイズは食ってないんです。

635 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:41:09.33 ]
いや表示されてるだけサイズ食ってるだろw
ゼロパディングされてるわけでもあるまいし

636 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:41:48.93 ]
実際に900KB食ってるだろ



637 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:43:30.61 ]
これが本当のエクササイズ

638 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 09:47:22.63 ]
upx使うと減るってことは冗長な記述が多いってことか……

639 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 12:49:18.74 ]
Dは大らかな人達が開発してるんだよ
ファイルサイズくらいどうってことないよ

640 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:14:24.01 ]
649 デフォルトの名無しさん [sage] 2011/12/29(木) 14:50:37.28 ID: Be:
学生プログラマ日本一決定戦(予選は社会人も参加可)
ttp://codevs.jp/howto.html
現在予選開催中
応募締切 2012.1.6 12:00

おもしろいことやっているじゃん。誰か今から参加しろよ。

641 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 17:12:06.58 ]
>>640
盛り上がってないからって
あちこちで宣伝すんなよ

642 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 19:03:34.97 ]
>>635
バイナリエディタでexe見てみたら、ゼロばかり並んでるw

643 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:32:50.15 ]
タワーディフェンスだと・・・?
codevs.jp/rule.html

644 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 20:40:47.22 ]
Watch out, or you may attract a thunderbolt!!

645 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 22:13:18.43 ]
久々にJavaScriptで書いてみたが、コンパイル時型チェックがないのは面倒ではあるな
大規模プログラミングでこれは使えないだろうとは思った。

646 名前:デフォルトの名無しさん mailto:sageman [2011/12/30(金) 12:35:56.70 ]
だが、それがいい



647 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 13:45:55.76 ]
近頃のDはコンパイラアップデートしても割とすぐコンパイルできる代わりに
端々で以前と違う挙動をしてアプリをバグらせてくれる
これはいいものだ


648 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 13:54:14.69 ]
年内今日明日で何か作る

649 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 17:31:39.90 ]
import std.xml;
import std.stdio;
void main() {
 auto doc = new Document(new Tag("root"));
 auto e = new Element("elem");
 e.tag.attr["attr"] = `"quot"`; // '"'入りの文字列
 doc ~= e;
 writeln(std.string.join(doc.pretty(1),"\n"));
}

$ dmd -run x.d
<root>
<elem attr=""quot"" />
</root>

以前std.xmlで属性がエスケープされないって話があって、確か直ったはずなんだけど
どうして戻ってるの…

650 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 18:11:03.14 ]
std.xmlってなくなるんじゃないの?

651 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 18:21:06.27 ]
Cのlongと同じ型!みたいなエイリアスが詰まったモジュールとかありませんか?

652 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 19:21:53.92 ]
>>650
無くなるのはいいけどいつまで経っても無くならないなぁ
代替手段ができるまではちゃんとメンテしてほしす

653 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 21:13:57.83 ]
>>651
Cはプリミティブ型のバイト数決まってないから無理

654 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 21:54:49.34 ]
>>653
だからこそdmcの型と対応するaliasが欲しいって話じゃね?

655 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:31:26.59 ]
version か何かで分岐すれば良い

656 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:55:24.04 ]
それをユーザ側でいちいち用意するのは馬鹿らしいってことじゃないの?
intptr_tはあるけどな



657 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 08:00:29.16 ]
使う人いるのか、いないだろうな
他のライブラリポーティングするにしても大抵Uint8とかGLintみたいにそのライブラリ固有で型定義してるし

658 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 08:35:48.82 ]
typedef long HogeLibInteger;
D語に訳すにはどうすればいいんでしょうか

659 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 09:26:42.03 ]
alias long HogeLibInteger;

660 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:51:22.55 ]
typedefがオワコンになった今、今更キーワードaliasをtypedefに戻せない辺りに哀愁を感じる

661 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:02:11.71 ]
3.0に期待

662 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:30:12.61 ]
@strong alias
こんな感じで

663 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 20:10:52.35 ]
どっちでもいいけどななー
typedefに戻すメリットもたいしたものないし

664 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 21:16:57.34 ]
typedefってJavaのgotoみたいな永久欠番になるのかな

665 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 21:18:15.30 ]
3.0開発し始めたら

アンドレイ「いいこと考えた。1行で完全に新しい型を定義できる機能とか新しくね?」
ウォルたん「いいね!なぜかtypedefってキーワードが空いてるからそれ使おう」

ってなるよ

666 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 21:38:40.28 ]
typedefの代わりに、structで包めばいいかな



667 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 21:55:14.94 ]
別にstrong typedefは新しい機能でもなんでもないぞ。C言語由来の型システムとはなじまないってだけで。

668 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 23:28:12.64 ]
リファクタリング...ひらめき...実装...リリース!

669 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 01:23:56.49 ]
灰になった!

670 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 04:42:41.23 ]
代替手段ができるまではメンテして欲しいよな

671 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 09:48:04.67 ]
代替手段ができるできる詐欺である可能性もあるからな
そろそろD言語も元年を標榜してみる?

672 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 20:42:49.91 ]
-propertyへの対応で元日終わりそう

673 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 21:34:04.83 ]
あれ?

int func1() { return 1; }
@property int func2() { return 1; }

void func3(int i) { }
@property void func4(int i) { }

void main() {
 int i;
// i = func1; // -propertyだとコンパイルエラー
 i = func2;

 func3 = i; // コンパイルできる…
 func4 = i;
}

これってそういう仕様なの?

674 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 05:53:20.19 ]
Dって引数以外でref変数あるの?

675 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:10:17.53 ]
>>674
関数の返り値はrefにできる。
変数自体には指定できないけど、ポインタやクラスで代替可能。

676 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:50:07.97 ]
ありがとうございます。おとなしくポインタ使います



677 名前:デフォルトの名無しさん [2012/01/02(月) 11:24:20.97 ]
ポインヨだろ 間違えるな

678 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 14:35:37.56 ]
ポインティーヌ

679 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 18:08:52.92 ]
>>673
https://github.com/D-Programming-Language/dmd/pull/279
パッチを出したがまだマージされていない

680 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 18:17:05.66 ]
>>649
ざっとstd.xmlのコード見てみたが、
> e.tag.attr["attr"] = `"quot"`; // '"'入りの文字列
はTagクラスのpublicなattrフィールド(連想配列)に直接値を設定しているから、
encode/decodeとか何も動かない。

つまりそんな機能は元から無い様に見える。

681 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 19:20:56.52 ]
Tagクラスの toNonEndString のところ
decodeじゃなくて、encodeにすべきなんじゃないのか?

682 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:03:47.76 ]
>>681
ああ、そっち(出力)の方か。確かにそこをencodeにすると、
outputがエンコードされるようになるな。

誰かbugzillaにレポート投げてくれればfixされるかも。

683 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 22:54:27.85 ]
>>679
やっぱバグなのね。ありがと

つまり次のバージョンでもう半分の-property地獄を体験することになるわけだな
これだからDはやめらんねぇ!

684 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:42:58.19 ]
std.xml Commentクラスのコンストラクタ内
× if (content == "-" || content.indexOf("==") != -1)
○ if (content == "-" || content.indexOf("--") != -1)

685 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 05:59:45.30 ]
おお
やっぱ消えると分かっていてもメンテしてくれないと困るな

686 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 06:00:41.72 ]
あるいはguthubで特定のソースに対するpatchを簡単に絞り込めないのかな



687 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 14:21:43.58 ]
ネスト関数に事前条件無しで事後条件書くと構文エラーになるけど、
事前条件有りで事後条件書くとコンパイル通って動くんだけど、なんか理由があるのかな?

688 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 21:12:23.26 ]
>>687
手元で試したら全部通ったけど、どんなコード書いたの?

689 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:31:29.87 ]
>>688

void main()
{
string foo()
//in
//{
//}
out (result)
{
assert(result.length == 0);
}
body
{
return null;
}
}

__EOF__

このままコンパイルしようとすると構文エラーで通らない。コメントアウトすると通る。
ちなみにコンパイラはDMD64(v2.057)をUbuntu向けパッケージからインストールしたもの。

690 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 22:35:18.75 ]
エラーメッセージはこんな感じ

d.d(7): found 'foo' when expecting ';' following statement
d.d(7): expression expected, not ')'
d.d(7): found 'out' when expecting ')'
d.d(8): found '{' when expecting ';' following statement
d.d(11): Declaration expected, not 'body'
d.d(14): unrecognized declaration

691 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:08:59.74 ]
それ多分ウォルターの自作自演だから

692 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:21:59.25 ]
>>689
パーザーの問題。DMDのパーザーは手書きだからこういう抜けが未だにある。
in/outなしでbodyだけ付けるのも同じようにrejectされるな。

原因は判ったのでパッチを書いておくが、bugzillaはどうする?
自分で投げてみるいいチャンスかも。

693 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:32:34.95 ]
ちなみにテストコードはこれ

void main()
{
size_t foo() in{} out{} body{ return 0; } // OK
size_t bar() /*in{}*/ out{} body{ return 0; } // NG1
size_t baz() /*in{} out{}*/ body{ return 0; } // NG2
}


694 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 03:41:31.25 ]
あ、仮引数の省略ってできたっけ?

695 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 03:42:00.71 ]
あと使わない実引数の省略もか

696 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:52:43.56 ]
>>694
仮引数の省略は不可。
一応、可変個引数で似たようなことは出来るが、余計めんどくさい・・・

>>695
デフォルト引数が設定されている引数については省略可。



697 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 12:15:29.91 ]
いやそうでなくて、変数名の省略

698 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:06:37.84 ]
変数名省略できる言語なんかあるのか?

699 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:13:57.12 ]
timerStart( 1000, (Timer,EventArgs){ doSomeThing(); } );

こういうのが書ければいいってことでしょ

700 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:17:33.72 ]
長い変数名を書くのが面倒で、短い変数名にしたいって事なら、alias使えばおk。
クラスや構造体の参照を簡略化したいなら、with文を使うのもあり。

型名を書くのを省略したいという事なら、残念ながらDでは出来ません。
関数オブジェクトを簡単に作りたいなら、関数リテラルを使えばおk。
型が違うだけで、処理の内容が同じ関数を書くのが嫌という話なら、テンプレートを使えばおk

701 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 13:36:24.87 ]
>>697
void foo(int, long){ ... }
みたいに、通常の関数で型だけを書いて仮引数名を省略することは可能。
これはC言語系列のsyntaxを受け継いでいる。

>>699
2.058からは関数リテラルで仮引数名の省略は出来なくなる。なぜなら
関数リテラルのパラメータ型推論・funciton/delegate推論が入ったため、

(a, b){ doSomethig(); }

で、a,bが型名か仮引数名かパース時点では判明しないため。
→2.057までは型名として、2.058以降は仮引数名として扱われるようになる

>>700
上に書いたとおり、関数リテラル限定で型名を書くのを省略できるようになる。

702 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 14:02:36.29 ]
>>701
なんで通るんだろうと思いつつ。
で、どうやって引数の値にアクセスするのよ?
ideone.com/6NLyf

誰だ、型名省略できるって言ったやつ。
まあ、戻り値の型は省略できるけどね。
ideone.com/AXEQu

703 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 14:49:02.14 ]
>>702
上:コールバック関数やデリゲートに渡すやつで
  「関数の型(引数リスト)が決められているけど
   引数は結局使われない」というケース。>>699 はその例
下:2.058(次期リリース)以降の話。

704 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:44:02.20 ]
>>702
C言語やってないだろ!引数を参照しないとコンパイル時に警告でるからそれ対策で型名だけにするってよくやるよ


705 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 23:44:58.41 ]
>>704
そうそれが知りたかった

706 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 01:32:26.19 ]
>>689
issueとパッチのPullRequestを出しておきました。

d.puremagic.com/issues/show_bug.cgi?id=7218
https://github.com/D-Programming-Language/dmd/pull/608



707 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 09:25:27.92 ]
>>704
しらねーよ!悪かったな!

708 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 17:24:31.05 ]
>>706
マージされた
https://github.com/D-Programming-Language/dmd/commit/4d93bbf53cba3eb19733d2e5cd209b67034f2d10

709 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:10:11.82 ]
はやっ
どうなってんだ

710 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:12:29.93 ]
はやすぎる(笑)

711 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:23:18.36 ]
ム板では結局ここが一番落ち着く

712 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:29:57.36 ]
上に同じこと書いたのを完全に忘れていた
もう駄目かな…

713 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:45:00.75 ]
・基本的にWalterは毎日commitを行っている
・PullRequestも最低1つぐらいは一日にマージされる
・Parser関係のfixは理解しやすい&影響範囲も限られる
→変更の規模としては小さい部類なので比較的早くにマージされる

まあ、パッチの規模がでかいと逆に半年ぐらい放置状態になるんだけど。

714 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 06:30:57.53 ]
他の言語と違ってここのはコンパイラの修正がユーザーに近い時点で行われてるから
根強いファンが絶えないのも頷けるなw

715 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 14:40:44.35 ]
dwt2もgithubに移行か

716 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 18:03:48.52 ]
dwt2 もろくにメンテされてなかったけど
移行してマシになるの?




717 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 20:18:31.68 ]
一応メンテはされてるんだけど
オフィシャルへの反映が遅い…

718 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:41:55.28 ]
ハードウェアがより高性能に進化、ソフトウェアがより多機能に進化、
それに命令や操作をする人間は進化するどころか文化や人格を決め付けや思い込みで否定する争いを始めた

719 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 01:26:59.13 ]
DはマルチメディアやGUI関連に弱すぎる

720 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 02:04:44.28 ]
質問です。
std.randomのuniformのboundariesを指定したいときはどうすればよいのでしょうか。

721 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 02:12:35.95 ]
uniform!("[]")(0.0, 1.0, generator);

722 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 09:33:38.41 ]
なんだその指定方法(笑)

723 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 10:53:52.75 ]
>>721
ありがとうございました。

724 名前:デフォルトの名無しさん [2012/01/09(月) 11:27:03.86 ]
おまえらバンドのDは好き?
www.d-gcr.com/

725 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 16:41:13.84 ]
今はじめて知ったから好きも嫌いもない

726 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 17:06:04.89 ]
知ってたけど話題にするほどいいバンドじゃないからあえて書き込まなかったのに…



727 名前:デフォルトの名無しさん [2012/01/10(火) 06:38:59.55 ]
すみません。教えてください。

可変個関数引数に、ポインタを指定するにはどうすれば良いですか?

void die( ... )
{
real* foo = cast( real* )_argptr;
*foo = 0.0;
}

void main()
{
real evil = 666.0;
die( &evil );
}

こんな感じなのですが、上手く渡せません。

すいません。よろしくお願いします。

728 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 10:15:31.56 ]
import core.vararg;
...
real* foo = va_arg!( real* )( _argptr );
...

phobos のソースを _argptr でgrepした (w


729 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 02:01:31.34 ]
それポインタ?

730 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 11:51:42.81 ]
_argptrは、渡された引数へのポインタなんだから。
ideone.com/j4fL9

でも、もっといいのは、可変個引数関数を使うのではなくて、テンプレートのタプルを使う方法。
ideone.com/oNAbZ

もっと言うなら、ポインタを渡さずに、ref引数や、参照型のクラスを使う方が安全。

731 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 15:05:14.13 ]
Internal error: ..\ztc\cgcs.c 354
ってなんぞ?

732 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 16:45:47.49 ]
自己解決しますた
配列を返す関数を呼んでその戻り値に直接[]で添え字指定してたのが問題のようですた

733 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:38:51.29 ]
Deimos楽しそうだね

734 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:39:44.49 ]
なにせDでアプリ書くにはCのライブラリが必sゲルンゲフン

735 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:26:50.36 ]
githubから消えてるんだけどdeimosってどこにあるんだ
あとVisualDがインテリセンス的なもの載せてさらに凄くなってやがる

736 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 01:00:24.65 ]
github.com/d-programming-deimos



737 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 01:11:09.31 ]
Dもrubyみたいにブラッシュアップしてくれる中学生(ただし美少女に限る)どこかにいないかな

738 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 20:10:17.09 ]
スタックやキューなどのデータ構造のコレといったライブラリはありますか?
なければ自分で作るのでいいんですが、一応……。

739 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 20:58:39.02 ]
dcollectionsなのかなあ、コレというのは
個人的には配列が強力すぎて必要性を感じない

740 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 11:28:39.23 ]
bool foo(T)(T[] a ...){
return true;
}
void main(){
assert(foo(1,1,1,1,1,1));//OK
assert(foo("abc","abc","abc","abc"));//コンパイルエラー
}

これをコンパイルしようとしたら
test.d(6): Error: expected 1 function arguments, not 4
って怒られる


741 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:09:07.55 ]
foo(1,1,1,1,1,1);
のほうは実は
foo([1,1,1,1,1,1]);
でも呼び出せる。
2番目のもこれだと解釈されてる

742 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:09:27.16 ]
import std.stdio;

bool foo(T)(T[] a ...){
  foreach(i; a)
    write(i);
  return true;
}
void main(){
  foo([1,2,3]); // 出力: 123
}

SomeType[] a ...
という可変個引数の場合、可変部分ナシで配列を一つ渡すことでaに直接配列を渡せる。
だから、文字列(char[])に限らずfooに最初配列を渡した時点でaに対して配列を渡したことになって、複数渡すとエラーになる。

配列自体を可変個引数として渡したい場合は
foo!(string)("abc", "abc", "abc")
foo!(int[])([1,2,3], [4,5,6])
みたいにTが何であるか教えてやらないといけない。

743 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:03:58.75 ]
>>741-742
Tをちゃんと指定しないといけないんですね。
ありがとうございました。

744 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 13:07:31.14 ]
いやまあ、引数が配列複数な時点でコンパイラがTを配列として扱うべきな気もするけど……

745 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 12:38:20.34 ]
std.container.Array!(char) str;
が通らないんですけどどうすればいいんでしょう
ちょっとgcから切り離されたstringが欲しかっただけなんですけど

746 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 14:28:21.70 ]
>>745
malloc/freeを直接つかうとか



747 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 19:07:59.01 ]
@property void push(int[] arr, int val) { arr ~= val; }
void main() {
 int[] arr;
 arr.push = 42;
}

UFCSとか見てて、どうせだからこういうことしたくなるけど
さすがに無茶だよなぁ

748 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 19:11:08.92 ]
>>745
Array!(dchar) にしないとだめみたいだな
いいんだか、悪いんだか

749 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 19:41:50.36 ]
>>747
後でソース読むときが大変だと思う

750 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 20:35:15.76 ]
interfaceにGUID付けられるようにならないかな
RTTIからGUID取れるようにしてObjectのQIだけですべてのパターンに対応できる感じで
まあDelphiのパクリなんだけど
ちなみにこんな感じでできたら最高
ideone.com/GspW0

751 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 04:40:49.62 ]
昆布のtoってオブジェクトに対してかけるとobj.to!Tに転送されるんだね
ソース見るまで気づかなかった

752 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 08:25:24.26 ]
class A{
T to(T:string)(){
return "";
}
}
toStringより特殊化の方がいいってこと?

753 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 10:53:58.40 ]
最近は
T to(T)() if (is(T == string)) {
のほうだな

754 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 11:09:13.49 ]
しかし class の to は deprecate で cast 使うようになりそう?
www.d-programming-language.org/phobos/std_conv.html#toImpl
Scheduled for deprecation in January 2012. Please define opCast for user-defined types instead of a to function. to will now use opCast.

755 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 11:42:27.25 ]
to は双方向で
toString は一方通行のイメージ

756 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 23:04:37.08 ]
foreachでmixinって出来ない?
foreachを展開してmixinしかないかな
こんな感じにしたい
int abc, def;
foreach(s; ["abc", "def"])
writeln(mixin(s));



757 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 00:59:55.47 ]
mixinの中身はコンパイル時に確定しないといけないから無理じゃないかな
今CTFEでループさせるなら再帰しか無いけどstatic foreachって入る予定あるの?

758 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:55:05.17 ]
>>756
こういう事じゃないんだろうな、と思いつつ。
ideone.com/iZWxL

759 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:14:38.17 ]
>>756
foreachをコンパイル時に回す(=展開する)なら、
配列ではなくタプルを渡すとうまく行く

import std.traits;
foreach(s;TypeTuple!("abc","def"))
 writeln(mixin(s));

760 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:25:29.44 ]
>>751-755
型Aのオブジェクトaから型Bへの変換を行わせたい時、std.conv.toは
1. a.opCast!B()
2. a.to!B() // deprecated
3. B(a) // Bはstruct
または new B(a) // Bはclass
を試そうとする。但し B==string の場合はa.toString()が優先される。

761 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:51:27.28 ]
>>757-759
聞いてみるもんだなありがとう!
>>759がまんまだったよ
でもstd.traitsじゃなくてstd.typetupleだった

762 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:56:10.51 ]
俺はなんて遠まわしな事をしているんだ。
ideone.com/dUPb6

763 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:35:04.36 ]
>>759
おおすばらしい
この辺いつか文法的に整理されると信じてる

764 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 11:52:28.16 ]
>>761
正直言ってTypeTupleという名前は混乱の元だと思ってる。
(型だけではなく式やシンボルも受け取れるので)
Seq!(...)より抽象的でいいと思うんだけどなあ

765 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:38:12.57 ]
ところでRangeって便利ですか?

766 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:54:46.75 ]
Ranger



767 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 00:04:41.28 ]
便利さが実感できない

768 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 00:45:12.66 ]
かゆいところに手が届かない

769 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:33:09.60 ]
auto cap = std.regex.match( ... ).captures;

cap.length == 0 と cap.empty の結果が違うのはなんでなん?

770 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:30:51.49 ]
間違えた
前は cap.empty を見なくても length だけで行けてたのに、何で変えてしまったん?

771 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:31:16.51 ]
違わないけどどういう時?

772 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:41:52.41 ]
公式じゃないdflってドラッグドロップしたら落ちるバグって治ってますか


773 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 17:05:25.62 ]
確かこのスレの人が直したはず

774 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:12:29.32 ]
Application.autoCollect = false;

公式見解のこの方法じゃなくて?


775 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:18:14.98 ]
>>769-771
auto cap = std.regex.match( ... ).captures;
if (cap.length == M+1) {
// マッチしたときの処理
// 2.057 だとマッチしなくても入ってくる
}

こんな風に書いてたのが全滅して泣いた

776 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:07:56.06 ]
スコープの外に出てないローカルオブジェクトってスコープの終わりで自動的にGCとかされます?



777 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:06:00.07 ]
>>776
つttp://kmonos.net/alang/d/2.0/garbage.html
されない。明示的にdeleteしても、scope属性を付けても保証されるのはデストラクタの実行まで。
core.memory.GC.collect()を呼んでも動かないかも?
ttp://bm98.yaneu.com/dlang/Chapter-06.html
↑ちょっと古いけど、この辺の実装今はどうなってるんだろう?

778 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:07:04.54 ]
いえーい!777ゲット!

779 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:07:22.76 ]
oh…

780 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:16:29.13 ]
>>778
777オメw

781 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 07:49:24.19 ]
>>740-744
PullRequest投げました
d.puremagic.com/issues/show_bug.cgi? id=7359
https://github.com/D-Programming-Language/dmd/pull/637

782 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 07:58:58.20 ]
>781
もうマージされてた
https://github.com/D-Programming-Language/dmd/commit/c9f0d0646ad3dde8a383f6f195763459e5d9a35b

783 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 02:00:58.42 ]
すぐバグ修正されるのは素晴らしいね

784 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 18:00:14.63 ]
if ( DialogResult.YES == msgBox( msg, caption, MsgBoxButtons.YES_NO), MsgBoxIcon.QUESTION )
doSomething();


785 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 01:07:17.94 ]
しまった、オカルト板と間違えた

786 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:32:26.21 ]
闇言語だからだいたいあってる



787 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 15:33:27.90 ]
いつから出来なくなったん・・
auto f = FILE("test.txt", "w");

788 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:42:32.13 ]
>>784
ついった見ててやっとわかったけど `, MsgBoxIcon.QUESTION` の位置を間違えてるせいで
毎回doSomething()が実行されてナニコレ、って言いたかったんだな

789 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:35:04.94 ]
auto f = File("test.txt", "w");

790 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 01:19:23.20 ]
>>789
その考えは盲点でした。すばらしい!!

791 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:33:18.48 ]
Add new => lambda syntax.
なにこれ
つーかアップデートのたびBug直されまくってるのな

792 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:38:36.32 ]
これかな
www.d-programming-language.org/expression.html#Lambda

793 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:51:09.63 ]
dmdやphobosのバグに対処するのは楽しいがoptlinkだけはダメだ
血管が切れそうになる

794 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:24:14.36 ]
d.puremagic.com/issues/show_bug.cgi?id=6831
RESOLVED WONTFIX だと・・・? orz

795 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:08:19.93 ]
ラムダ式って => になんの?
既存の演算子を使い回すのやめてくれよ

796 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:11:30.02 ]
既存?
Dの外の話でもしてるのか?



797 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:11:32.91 ]
新しい文法だそうで
=>これまで使われてたか?

798 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:26:31.18 ]
未使用

799 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:06:53.00 ]
Haskell とかで別の意味の演算子として使われてるとかそういう話か?

800 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:30:41.51 ]
C#とかでも=>だから合わせた方がいいんだろな

801 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:56:29.10 ]
久しぶりにD言語スレ見てみたが相変わらず破壊的変更はあるようで
Rangeについて詳しい資料公式に転がってないか?

802 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:17:51.92 ]
ここが最近の詳しく解説しているページ。公式かどうかは知らない。
ddili.org/ders/d.en/ranges.html

803 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:02:10.04 ]
class A{void f(){}}
class B: A{override void f(){}}

のとき、Bを継承したクラスがfをオーバーライドしてるか判断する方法ってありますか?


804 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:08:55.00 ]
Bをさらに継承したクラスCがあった場合
(&B.f is &C.f) で判断できる
これがtrueの場合オーバーライドしていない

805 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:31:01.79 ]
import std.stdio;
class A{void f(){}}
class B:A
{
  void p(B b){
    if(&b.f is &f){
      writeln("---");
    }else{
      writeln("override!");
    }
  }
  override void f(){}
}
class C:B{}
class D:C{override void f(){}}

void main()
{
  auto b = new B;
  b.p(new C);
  b.p(new D);
}

実行結果
override!
override!


なぜ・・・orz

806 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:44:59.45 ]
auto v1 = &b.f;
auto v2 = &f;
(v1.funcptr is v2.funcptr)
これで判断できました。ありがとうございます。



807 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:27:54.19 ]
scopedってもう使ってもいい系?

808 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:02:42.96 ]
なんか悪い噂とかあったっけ?

809 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:19:17.76 ]
scope記憶クラスの代用品として仮実装中ってどっかで見たような記憶があるようなないような

810 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:21:12.60 ]
class A { }

void main() {
Object[] a = new A[2];
}

これ暗黙変換できなくなったの?

811 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:11:51.89 ]
それ元からできないと思う

812 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:25:44.57 ]
>>810
それを許すと以下のような問題が起きる

class A { } 
class C { } 

void main() { 
Object[] a = new A[2]; 
a[0] = new C; // Aしか入らない所にCを入れている


813 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:34:58.93 ]
いやその理屈はおかしい

814 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:41:46.52 ]
Javaでもできたお

815 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:42:33.29 ]
動的に静的の問題じゃないの?

816 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 18:27:31.78 ]
>>810
>Object[] a = new A[2];
これと
Object[] a = [ new A(), new A() ];
これは違うよね。上は暗黙変換出来なくていいと思う。




817 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 19:00:50.88 ]
A[2] b;
pragma(msg, typeof(new A[2]));
pragma(msg, typeof( [new A(),new A()] ));
pragma(msg, typeof(b));

A[]
A[]
A[2u]

818 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 19:06:16.22 ]
>>817
ほお…知らなかった
Dの静的配列と動的配列の値渡し/参照渡しとかの仕様が頭の中でこんがらがる

819 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 20:56:50.02 ]
前から気になってたんだけど
static if(...) {
} else static if(...) { ← ここのstaticってなんで必要なの?
}

820 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:20:36.45 ]
static if(...) {
} else {
  static if(...) {
   ...
  }
}
の略だから

821 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:28:43.30 ]
>>817
816で言いたかったのは、動的か静的かではなく、
>Object[] a = new A[2];
は配列長を確保してるだけなので必要な場面が思いつかない。
暗黙変換できなくていいと思う。
でも810がやりたかったのはエスパーすると
Object[] a = [ new A(), new A() ];
こっちじゃね?なら暗黙変換できるよーと言う事です。

822 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:52:58.62 ]
new A[2];の結果は各要素(参照)がnullである長さ2の動的配列ってことか

new A[2];はnew A[](2);に読み替えられてるのかな

823 名前:821 mailto:sage [2012/02/02(木) 22:02:22.30 ]
あ、「先祖クラスの配列へのcastは例外的に暗黙でいいやん」と言う話だったならたしかにそう思います。

824 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:10:09.59 ]
>>822
Error: cannot implicitly convert expression (new A[](2u)) of type A[] to Object[]

と出てるからまさにその通りだと思う。

825 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:20:34.66 ]
>>822
C++感覚で new A[2] と書くとドツボにはまりそう。

826 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 23:53:54.57 ]
静的配列
サイズがコンパイル時に決定
値渡し、返り値にも使える
静的配列の代入は複製
動的配列はサイズが同じなら代入できる、違えば例外、この場合も複製されるはず(うろ覚え)

動的配列
参照型
int[]にint[10]とかを代入できるはずだがどうなるかは忘れた



827 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 01:53:58.80 ]
>>826
int[10] a;
int[] b;
b = a; // 複製されない
assert( b.ptr == a.ptr );
b = a.dup; // 複製される
assert( b.ptr != a.ptr );
b[] = a; // 複製される
assert( b.ptr != a.ptr );

828 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 19:48:53.28 ]
$ type reg.d
import std.regex;
import std.stdio;
void main() {
writeln(match("他"d, regex("バ"d)));
writeln(match("他"d, regex("ビ"d)));
writeln(match("他"d, regex("ブ"d)));
}
$ dmd -run reg.d
[]
[]
core.exception.AssertError@D:\devtools\dlang\dmd2\windows\bin\..\..\src\phobos\std\utf.d(800): Attempted to decode past the end of a string


偶然踏んでしまった

829 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:41:57.52 ]
056->057間のstd.regexの変更っぷりに吹いた

830 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 08:13:07.47 ]
typeidと.classinfoがあるのは歴史的な理由?便利さから?

831 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 08:28:41.96 ]
>>810
公式ドキュメントのArraysに暗黙変換できるって書いてんだが…

832 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:44:43.72 ]
きっと夢でも見たんだろう

833 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:49:28.15 ]
2.057ではねられるようになって首を傾げてたんだぜ
やっぱり regression か

834 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:44:44.34 ]
Arrayに関しては禁止するべきだと思うんだがな
動的配列に静的配列入れたときも破壊的変更するとき初めてコピーされるという奇妙な仕様になってるし明示的にdupとかキャストさせるべき

835 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:04:51.37 ]
っCopy-On-Write

836 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:32:24.51 ]
>>831-833
d.puremagic.com/issues/show_bug.cgi?id=926

なんか 「D2 では禁止!ドキュメントが古い!」とか
言ってるんすけど・・・ユルセナイ シャザイト バイショウヲ ヨウキュウシル




837 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:12:32.03 ]
trunk のドキュメントをのぞいて見たらこうなってた。(´・ω・`) ショボーン

○ A[] -> const(Object)[]
× A[] -> Object[]

838 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:16:23.41 ]
あー、うーん、まあそうか…

839 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 19:35:51.35 ]
なるほど、そうじゃないと
auto a1 = new A[](10);
Object[] a2 = a1;
a2[0] = new Object;
でバグっちゃうのか。
明示的に
Object[] a2 = a1.dup;
こうするのは今もできるってことね

840 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 20:30:19.03 ]
そういやdupでimmutable剥がせる件ってどうなったんだろ

841 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 17:22:48.20 ]
細かい仕様変更にはもうついていけないよう

842 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:52:17.22 ]
dupはimmutableはがせるでしょ
idupだとimmutableのまま

843 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:57:23.76 ]
constとimmutableの違いがよく分からないよぅ

844 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 03:03:38.39 ]
const: 不変値を関数間で共有
immutable: 不変値をスレッド間で共有

845 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 09:54:57.34 ]
2.058ダウンロードどこでできるんですか!?

846 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:12:21.70 ]
まだリリースされてない
どうしてもさわってみたければ github から3点セットでDLしてビルドしる



847 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:35:50.05 ]
>>844
間違ったこと教えちゃいかんよ・・・

const その参照から値は変えられないが、別の要因で変わることがある。
immutable いかなる要因でも値が変わらない。

848 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:50:05.45 ]
constの分かりやすい例。
ideone.com/sGgmK

849 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:46:46.08 ]
ガンダムで例えると
シールド付きがconstで
フルアーマーがimmutableってことね

この例えはとにかく、なるほど…勉強になりました。

850 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:52:49.18 ]
constは引数変数向けの型ってイメージがあるな
引数と関わりのないconst変数なんて作らないよね?

851 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:05:15.37 ]
クラスのフィールドでインスタンス初期化時に固定するものとかconstにする

852 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:09:39.82 ]
それってimmutableでもいけるんじゃないの?

853 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:19:05.10 ]
Const と Immutable
www.kmonos.net/alang/d/2.0/const3.html

>>852
static this()

854 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 16:56:02.59 ]
static thisでだとimmutable初期化できないのかーと思ったけどできるじゃん
どういうことが言いたかったの?

855 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 18:53:53.23 ]
>>854
ごめん、勘違いしてた

856 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:16:59.45 ]
下のコードをコンパイルするとdmdが落ちるんですが。
dmdのバージョンは2.057です。
template foo(T){
 enum foo = __traits(hasMember,T,"sizeof");
}
static assert(foo!(int)); //DMD Crash




857 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:33:23.96 ]
久々にGUIライブラリを見て回った
gtkD・wxD・DFL(fork)・DWT辺りは元気だけどQtDが死んでるなぁ
どこか別の所で元気にやってるのかな?

858 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:45:03.62 ]
>>856
trunk の最新ソースを落としてビルドしたら落ちなくなってた(WinXP 32)

859 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:57:57.79 ]
>>858
では、2.058では解決されているのですね
ありがとうございます

860 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:01:51.83 ]
明日は2.058リリースか
3.0とかどうなったんだろな

861 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:11:08.52 ]
D3はmoduleに代わってnamespaceを導入して
呼び出し側でもrefとかoutとかつけて属性を明示できるようになって
プロパティはset/getキーワードを用意して自然に表現できるし
Attributeクラスでメソッドの属性を自作できる上にラムダ式とかも余裕で使えるし
しかも.NETフレームワークで動く

862 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:12:55.18 ]
今更namespaceとかありえないんじゃないかな

863 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:16:46.99 ]
>>861
あとはVisualStudioで開発できれば完璧だな

864 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:29:42.65 ]
D3では多重ディスパッチがついて型推論が進化

865 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:26:26.13 ]
D3ではなんとヘッダーとソースをファイルレベルで分離して記述することができるようになります!

866 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:27:41.37 ]
ヤメテ!



867 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:37:41.30 ]
機能追加を国民投票で選びます
投票券はTDPLに付属

868 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:04:21.14 ]
呼び出し側にrefつけるのは普通に欲しい
必須じゃなくてもつけまくるわ

869 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:49:28.42 ]
>>868
C# とか VBのアレか
アレはすごくほしい

けどタプルとかうまく使ったらいらないぜ
ってものかも知れない

870 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 00:20:34.12 ]
なにそれ。
D3 と C# の違いを教えてくれ。
const ありの C# としても使えるならぜひ使おうかと思うんだが。

871 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 00:23:01.61 ]
D3.0はPerl6よりは現実的な開発が予定されてる言語

872 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:02:54.60 ]
Perl6ってそんな非現実的なの?w

873 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:12:46.83 ]
はたしてあれ実装できるんだろうか
WebProg板にスレあったはず

874 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:23:54.85 ]
ググってみたら吹いた。
設計開始から10年で初の処理系ってD言語超えてるな

875 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 07:09:01.91 ]
心配すんな、クリスマスには出る

876 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:03:17.74 ]
Dは登場と共に処理系もあったじゃないか
永遠に開発中だけど



877 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:16:20.31 ]
設計完了に先立つこと10年にして早くも処理系

878 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 20:23:52.67 ]
C言語だって・・・最終仕様より先に初期実装があったんだ!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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