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)
99 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:19:21.88 ] Dでjavasriptコンパイラ作るか
100 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 15:34:41.72 ] >>99 それイイね!
101 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 17:08:33.53 ] 忘れられたDMDScript・・・ www.digitalmars.com/dscript/
102 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:33:00.23 ] Go を思い出してしまった あれどうなったんだろ
103 名前:デフォルトの名無しさん [2011/09/02(金) 18:55:36.22 ] >>101 すまぬ・・・すまぬ・・・DMDScriptよ・・・。 他の考えようか。
104 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:03:35.86 ] Dでプログラミングしたら javascript吐くのとかは無理?
105 名前:デフォルトの名無しさん [2011/09/02(金) 19:22:06.05 ] 日本語でおk
106 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:30:34.83 ] D言語からJavaScriptへのトランスレータみたいなものは、有名なものは 多分まだない。
107 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:37:08.27 ] >>104 いまから>>106 を作ろう!
108 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 00:32:31.91 ] Webアプリケーションを作ればいいと思うよ
109 名前:デフォルトの名無しさん [2011/09/03(土) 00:37:34.13 ] 仕様変更がまだ怖いから来年本気出す
110 名前:デフォルトの名無しさん [2011/09/03(土) 01:09:52.05 ] 仕様変更が怖くて何でD使ってんの?
111 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 01:30:14.23 ] 将来性があるから
112 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 02:42:20.53 ] 仕様変更しない言語なんて無いだろ CもC++もC#もObjective-CもJavaもJavascriptも何らかの形で常に仕様変更してるよ
113 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 04:33:27.18 ] CやC++の仕様変更周期はまるで亀の一生だが、DのそれはCエレガンスの寿命みたいなもんだ。
114 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:45:15.15 ] 5年前に書いたDプログラムを今コンパイルしたら全部の行でエラー出るんだろ そんな言語使えるか
115 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:49:21.61 ] 仕事増えていいじゃん
116 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:04:31.69 ] 古いバージョン使えばエラーでないよ^^
117 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 16:26:12.12 ] 全部の行は無いだろ '}' だけの行とか絶対出ないし 総合的に見てもせいぜいエラー率150%くらいのもんだろ
118 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:19:29.59 ] 関数の引数に「in」って付けたとき、昔はC++で言うconst参照の意味だったと思うのだけど、今はそうなってないのはバグ? 関数の引数に「scope」って付けても何も変わらないような気がするけど、値渡しで「const scope」無意味じゃない?
119 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 21:24:35.44 ] enum str = "a"; str = "b"; 代入できちゃうな これってバグだよね
120 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:22:46.45 ] 出来ないけど何言ってるの? ideone.com/AjSpV
121 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:31:49.86 ] そのコンパイラ一周りも古い 肩の力抜けよ。ここはDスレだぜ
122 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:32:53.43 ] ideoneがランタイムエラーになっているのはlinuxだから。 windowsだと普通に代入できるよ。 そもそも、そこは「Error: constant str is not an lvalue」とコンパイルエラーになるべき。
123 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:22:59.79 ] 2.055
124 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:51:47.98 ] キターーーーー
125 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:04:26.57 ] というのはガセ
126 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:08:01.13 ] ライオンとピーマンを追加してカロリー0の豆腐を考慮に入れたらしい
127 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:38:22.26 ] 圧倒的じゃないかdmdのバグ量は…
128 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 22:00:36.32 ] バグを作る為に新機能を追加してるんだってば D使いのくせにそんな事も知らないの?
129 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:32:21.70 ] コンパイラやライブラリだけじゃなくユーザコードもバグらせるDさん
130 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 23:37:03.05 ] そういう時はバージョンを戻せば大丈夫でしょw
131 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 22:40:09.84 ] ttp://techtarget.itmedia.co.jp/tt/news/1109/08/news04.html Tangoはじまったな
132 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 01:49:26.32 ] itmediaとな…その時点で、D関係ねぇな… うん関係なかったな
133 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 02:20:33.13 ] >> 57 d.puremagic.com/issues/show_bug.cgi?id=6609 Bugzillaに登録して https://github.com/D-Programming-Language/phobos/pull/250 Pull request出した
134 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:02:33.69 ] D言語はJavaやC#が後方互換性を維持してる意義がよく分かる言語だな もはやぼくのかんがえたさいきょうのぷろぐらみんぐげんご
135 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:37:41.65 ] >>133 乙なんだな bitbucketばっかり使ってるけどgithubにもアカウント作っとこうかしらん
136 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:45:07.68 ] おい2.054から2.055にしたのにoverride:がthis()にかかってるとか どうして今までコンパイル通ってたのかわからないような部分を修正しただけで動いちまったぞ どうなってるんだ?Dはもう終わっちまったのか?
137 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:46:17.98 ] 焦らしプレイか……。
138 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 16:44:42.91 ] うひゃあ、getExt()をextension()に変えたりfnmatch()をglobMatch()に変えたりしてたら 途端に何もかも動かなくなった びっくりするほどユートピア!
139 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:08:47.95 ] 俺のソース上のstd.algorithm.removeがコンパイル通らなくなったから どこが悪いのかとunittestと比較しようとしたら unittestからコピペしてきたのもコンパイル通らなくてワロタ
140 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 18:12:19.45 ] まさにD!
141 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 19:55:30.77 ] std.path の変更はただのリネームじゃなかった気がするが ・・・と思ったらレファレンスが更新されてNEEEE!
142 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 20:27:51.43 ] unittestが仕様です は罠
143 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:10:10.61 ] D back in top 20! ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html?a
144 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:42:16.19 ] void main(){} 2.053 => 146,972 バイト 2.054 => 149,532 バイト 2.055 => 150,556 バイト 順調にむくんでいってる
145 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:32.44 ] そのうち150,550 byteくらいはGCなんだろうな
146 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:58:49.27 ] >>139 は間違いだった反省している むしろ今までコンパイル通ってたのがおかしかった
147 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:45:55.54 ] globMatch()はなにかおかしい…。たまにglobMatch内でAssersionFailure起こす。
148 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 22:56:47.36 ] なんか053から055にバージョン上げたら文脈によってnewで落ちるようになった またGC周りの何かの予感が 自分のバグならいいけど・・いやいくないけど
149 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 23:02:01.31 ] >>147 '['が含まれてるパスがおかしいのは確認した というか'['とか普通にパスに使える文字じゃないの?なんなのこの仕様
150 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:06:28.19 ] 第2引数何指定してる?
151 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:38:38.06 ] >>149 UNIX系のシェルだと、[ABC]でAかBかCのどれか、みたいなワイルドカードが使えるものがあるんだよ。 ……本当に'['を指定したい時のための記法は用意されてるんだろうか。
152 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 00:46:08.96 ] fnmatch()には「エスケープはできません(キリッ」と書かれてのけぞったが replace("[", "[[]")でなんとかなった glabMatchはそれやるとassertで落ちる
153 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:03:12.23 ] globMatchの第2引数では[]{}は特別な意味持ってるから開きと閉じの個数が合ってないと落ちるよ、てか落とすよ
154 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 05:20:47.30 ] D言語のライブラリ、Tangoの次はMank(ry
155 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:35:13.32 ] 大人しく普通のワイルドカードで比較するか
156 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 08:45:34.34 ] そのうち例外出すように変わるだろうね
157 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:40:41.88 ] 男らしく副作用が多すぎて使い物にならない関数の代表を目指してほしい
158 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 09:55:54.49 ] strtokさんを超えてくれ
159 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 17:34:05.26 ] ドキュメントは d-p-l のサイトだけ更新されたな やっぱりこっちが本家なのか 日本語との照会がしづらくなるのう
160 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:06:34.25 ] public auto hoge() @property { return 0; } これがコンパイル通らないのって仕様?@2.055 public int hoge() @property { return 0; } や public auto hoge() { return 0; } はもちろん通る
161 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:08:59.49 ] std.path.getExt() -> extension() の危険な罠を回避した 手をつけるのを遅らせておいてよかった・・・
162 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:10:02.59 ] @property { public auto hoge() { return 0; } } でとりあえずコンパイルはできるみたい。
163 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:14:38.02 ] >>161 あれどうしてあんな風になったんだろ?
164 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 18:25:14.51 ] 元の getExt() にドットが含まれない方が違和感あったから 俺はこっちがいい
165 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 19:25:24.14 ] static if (__VERSION__ < 2055) { std.algorithm.sort!"std.path.fcmp(a.name,b.name)<0"( list ); } else { std.algorithm.sort!"std.path.filenameCmp(a.name,b.name)<0"( list ); } こういうのをもっと簡単に書けないものか・・・ alias pred UZEEEEEEE
166 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:08:22.80 ] 何度もやるならalias使うしか
167 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 20:52:58.99 ] std.path.rel2abs(".") -> absolutePath(".") も罠だった カレントディレクトリ取る方法が他にあれば・・・
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言語だって・・・最終仕様より先に初期実装があったんだ!