D言語 Part28
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/08/24(水) 06:02:12.35■前スレ
D言語 Part27
http://hibari.2ch.net/test/read.cgi/tech/1303022487/
■本家
http://www.digitalmars.com/d/
http://www.d-programming-language.org/ (ドキュメント)
http://www.kmonos.net/alang/d/ (和訳)
■コンパイラ
http://www.digitalmars.com/d/dcompiler.html (DMD, 本家)
http://dgcc.sourceforge.net/ (GDC, gccフロントエンド)
http://www.dsource.org/projects/ldc (LDC, バックエンドにLLVM)
■参考URL
http://f17.aaa.livedoor.jp/~labamba/ (D言語研究)
http://f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF (D言語BOF)
http://dsource.org/ (dsource)
http://tinyurl.com/candcpp2d2 (C/C++に疲れた人のD言語2.0)
http://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語)
http://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか)
http://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座)
http://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画)
http://www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games)
http://dusers.dip.jp (D言語友の会)
http://www.wish.sakura.ne.jp/desuno/game/Drawing (PrincessDrawing! D言語で作られた横スクロールSTG)
0002デフォルトの名無しさん
2011/08/24(水) 07:05:17.43ttp://www.ku6.jp/keyword6/1.html (SDLのポーティング 最新)
■ IDE
ttp://forums.codeblocks.org/index.php?board=20.0 (Code::Blocks)
ttp://www.dprogramming.com/entice.php (Entice Designer)
ttp://www.dsource.org/projects/descent (Descent)
ttp://www.dsource.org/projects/poseidon (Poseidon)
ttp://alexanderbothe.com/?id=27 (D-IDE)
ttp://www.dsource.org/projects/visuald (Visual D)
ttp://codepoet.sourceforge.net (CodePoet ※計画中)
■過去スレ、関連スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=D%8C%BE%8C%EA&sf=2&all=on&view=table&shw=5000
■その他関連スレ
統合開発環境Eclipseプラグイン開発QA
http://pc11.2ch.net/test/read.cgi/tech/1081517094/
"Code of the Nerds" Digital Mars C/C++
http://hibari.2ch.net/test/read.cgi/tech/1044210976/
0003デフォルトの名無しさん
2011/08/24(水) 07:15:11.52く|)へ
〉 ヽCノ
 ̄ ̄7 ヘ/
/ ノ
|
/
|
/
0004デフォルトの名無しさん
2011/08/24(水) 13:28:18.93PrincessDrawing!ってリンク切れてるな
0005デフォルトの名無しさん
2011/08/24(水) 16:09:32.220006デフォルトの名無しさん
2011/08/24(水) 16:17:11.86これかな
http://www.desunoya.sakura.ne.jp/product/Drawing/index.html
ソースとかはないんだな
0007デフォルトの名無しさん
2011/08/24(水) 19:41:32.55テンプレ乙
GDC は、今はこっちでメンテされているので、次回からよろしゅう
ttps://bitbucket.org/goshawk/gdc/wiki/Home
0008デフォルトの名無しさん
2011/08/24(水) 20:30:53.450009デフォルトの名無しさん
2011/08/24(水) 23:10:05.83仕様…なのか…?
0010デフォルトの名無しさん
2011/08/24(水) 23:39:24.44仕様でおk
これの一番下とおなじような状況
ttp://www.kmonos.net/alang/d/2.0/template-mixin.html
0011デフォルトの名無しさん
2011/08/24(水) 23:53:32.030012デフォルトの名無しさん
2011/08/24(水) 23:53:38.11プロパティが黙って違う値を返してくるもんだから30分くらい嵌ってしまった
気をつけんと
0013デフォルトの名無しさん
2011/08/25(木) 00:53:46.53More Effective C++に手を出そうとしている俺に
Dの魅力を語ってくれ
0014デフォルトの名無しさん
2011/08/25(木) 01:10:47.44違いを把握した上で
その上で有用だと思ったのなら
その時にまた来い
強いて言えば、愛だ。
他に語る事などない。
0015デフォルトの名無しさん
2011/08/25(木) 01:17:02.29ツールとして見るのではなく
プロジェクトやコミュニティに対する当事者意識を持てるかどうか
0016デフォルトの名無しさん
2011/08/25(木) 01:19:33.160017デフォルトの名無しさん
2011/08/25(木) 01:35:38.400018デフォルトの名無しさん
2011/08/25(木) 07:58:41.760019デフォルトの名無しさん
2011/08/25(木) 09:53:46.380020デフォルトの名無しさん
2011/08/25(木) 10:54:27.84B言語
E言語
まだかよ
0021デフォルトの名無しさん
2011/08/25(木) 11:01:54.280022デフォルトの名無しさん
2011/08/25(木) 12:02:37.580023デフォルトの名無しさん
2011/08/25(木) 20:08:42.450024デフォルトの名無しさん
2011/08/25(木) 20:13:07.80今朝「帰ったらd.y.dでmerdの記事見直そう」と思ってて
今まで忘れていたために気にかかっていたところだったありがとう
0025デフォルトの名無しさん
2011/08/25(木) 23:18:39.02当然AtoZ全部ある
0026デフォルトの名無しさん
2011/08/26(金) 08:01:32.060027デフォルトの名無しさん
2011/08/26(金) 20:38:26.55ガセ乙
0028デフォルトの名無しさん
2011/08/26(金) 20:55:48.92なぜガセと思ったのか詳しく
ガセと言いたかっただけ乙
0029デフォルトの名無しさん
2011/08/26(金) 21:50:07.32http://en.wikipedia.org/wiki/List_of_programming_languages
0030デフォルトの名無しさん
2011/08/26(金) 21:51:40.910031デフォルトの名無しさん
2011/08/26(金) 21:52:06.570032デフォルトの名無しさん
2011/08/26(金) 21:54:34.570033デフォルトの名無しさん
2011/08/26(金) 22:11:40.030034デフォルトの名無しさん
2011/08/26(金) 22:44:36.310035デフォルトの名無しさん
2011/08/26(金) 23:41:44.47何回目だよ
0036デフォルトの名無しさん
2011/08/27(土) 03:29:30.770037デフォルトの名無しさん
2011/08/27(土) 04:24:35.030038デフォルトの名無しさん
2011/08/27(土) 06:15:29.90webgl, webclなんかも出てきてるし
dでなければならない理由がなくなってしまった
これも時代の流れか
0039デフォルトの名無しさん
2011/08/27(土) 07:13:59.570040デフォルトの名無しさん
2011/08/27(土) 08:33:28.46というかMLとかに流れてるのメールの流量がすごい
なんなのあれ…
0041デフォルトの名無しさん
2011/08/27(土) 10:04:39.25こんなやばいもん本腰入れて使えないよ
0042デフォルトの名無しさん
2011/08/27(土) 10:32:03.860043デフォルトの名無しさん
2011/08/27(土) 13:13:52.87「俺の財宝か?欲しけりゃくれてやる・・・。
探せ! この世の全てをそこに置いてきた!」
0044デフォルトの名無しさん
2011/08/27(土) 16:16:31.250045デフォルトの名無しさん
2011/08/27(土) 19:13:11.920046デフォルトの名無しさん
2011/08/27(土) 19:20:40.920047デフォルトの名無しさん
2011/08/27(土) 19:41:53.47Dはなんでこうなった
0048デフォルトの名無しさん
2011/08/27(土) 19:48:08.21でも次の規格ができたら戻ってくる予定
0049デフォルトの名無しさん
2011/08/27(土) 21:18:20.120050デフォルトの名無しさん
2011/08/27(土) 22:13:43.65これ、メリット、だよね?ね?
0051デフォルトの名無しさん
2011/08/28(日) 02:27:20.380052デフォルトの名無しさん
2011/08/28(日) 02:35:57.750053デフォルトの名無しさん
2011/08/28(日) 18:15:36.320054デフォルトの名無しさん
2011/08/28(日) 18:23:16.470055デフォルトの名無しさん
2011/08/28(日) 18:52:29.500056デフォルトの名無しさん
2011/08/28(日) 22:03:21.670057デフォルトの名無しさん
2011/08/28(日) 23:07:50.42import std.conv;
void main() {
parse!int("42", 10);
parse!int("-42", 10);
}
$ dmd -run test.d
std.conv.ConvException@std\conv.d(38): std.conv(1209): Can't convert value `-42' of type string base 10 to type int
(゚д゚)
0058デフォルトの名無しさん
2011/08/29(月) 00:39:59.770059デフォルトの名無しさん
2011/08/29(月) 04:31:43.830060デフォルトの名無しさん
2011/08/29(月) 10:29:28.120061デフォルトの名無しさん
2011/08/29(月) 20:23:58.29parseやtoUTCStringと同じタイムゾーンで使うにはどうすればいいのでしょうか?
std.datetimeへの移行は、未翻訳のドキュメントを読むのがつらいので、できれば今は避けたいです・・・。
0062デフォルトの名無しさん
2011/08/29(月) 21:01:16.79バグだとしても修正されなさそうだし
0063デフォルトの名無しさん
2011/08/29(月) 21:12:42.590064デフォルトの名無しさん
2011/08/29(月) 23:19:39.540065デフォルトの名無しさん
2011/08/29(月) 23:34:37.76Dは他言語の100倍の速さで時間が流れている
そういうことだ
0066デフォルトの名無しさん
2011/08/29(月) 23:57:47.0730年も面倒見れないわ
もし30年もメンテするなら
途中で誰かに引き継ぐ必要があるが
Dなんて普及しないもん誰が使いたがるんだ
0067デフォルトの名無しさん
2011/08/30(火) 00:28:49.810068デフォルトの名無しさん
2011/08/30(火) 01:16:46.240069デフォルトの名無しさん
2011/08/30(火) 01:33:11.650070デフォルトの名無しさん
2011/08/30(火) 03:11:57.12lisp辺りもいけるかよくわからんけど
0071デフォルトの名無しさん
2011/08/30(火) 03:14:04.450072デフォルトの名無しさん
2011/08/30(火) 03:14:52.37うむ…C意外と若かったな
0073デフォルトの名無しさん
2011/08/30(火) 14:36:07.12void hoge(enum { a, b, c } type) {
writeln(type);
}
hoge(type.b);
とか
0074デフォルトの名無しさん
2011/08/30(火) 14:43:23.64名前空間変わるの?
オーバーロード・オーバーライドも難しくなりそう
# 本音はIDEがつくりにくくなるから反対
0075デフォルトの名無しさん
2011/08/30(火) 15:24:51.56俺も反対
0076デフォルトの名無しさん
2011/08/30(火) 15:33:16.01void hoge(enum { a, b, c } arg);
void foo(enum { c, d, e } arg);
hoge(enum.c); // {a, b, c}集合の中のcとして解釈
foo(enum.c); // {c, d, e}集合の中のcとして解釈
void bar(enum {a, b, c, d, e} arg)
{
final switch(arg){
case enum.a, enum.b, enum.c: hoge(arg); break; //argは{a,b,c}
case enum.d, enum.e: foo(arg); break; //argは{d, e}
}
}
Dに型推論は無いので所々キャストが必要になるかもしれない。
0077デフォルトの名無しさん
2011/08/30(火) 17:14:03.26{
enum {a, b} aaa;
switch(arg){
case enum.a, enum.b, enum.c: hoge(arg); break; //argは{c}
case enum.d, enum.e: foo(arg); break; //argは{d, e}
}
}
ますます酷くなるな
0078デフォルトの名無しさん
2011/08/30(火) 18:27:00.51強いていうならどこかのDとかいう言語くらいだな
0079デフォルトの名無しさん
2011/08/31(水) 04:25:42.910080デフォルトの名無しさん
2011/08/31(水) 04:44:11.300081デフォルトの名無しさん
2011/08/31(水) 06:27:25.57JavaVM|dotNet→ローカルデータ処理、OS管理
ruby|python→操作簡略化、シェルスクリプト
後は高速処理特化言語で並列化だろうな
プロセスとパイプを扱えるライブラリがあれば
シェルスクリプトの代わりもできるかもしれないけど
mainが邪魔すぎる
0082デフォルトの名無しさん
2011/09/01(木) 01:20:17.470083デフォルトの名無しさん
2011/09/01(木) 01:25:06.260084デフォルトの名無しさん
2011/09/01(木) 01:27:01.60http://d-programming-language.org/ そのままかと思ってるけど
0085デフォルトの名無しさん
2011/09/01(木) 01:30:33.00東京ディズニープアーランド?
0086デフォルトの名無しさん
2011/09/01(木) 01:38:41.22ここからリンク張ってあるくらいだから本人の副収入だべ
>>85
ttp://d.hatena.ne.jp/repeatedly/20110506/1304651110
0087デフォルトの名無しさん
2011/09/01(木) 01:47:19.55ああこれね
0088デフォルトの名無しさん
2011/09/01(木) 21:48:37.150089デフォルトの名無しさん
2011/09/01(木) 23:52:22.85ecma⊂html5
0090デフォルトの名無しさん
2011/09/02(金) 00:06:15.13jscriptだってecmaの処理系だぞってスレ違いか
0091デフォルトの名無しさん
2011/09/02(金) 07:36:26.51windowsユーザーよりもhtml5対応ブラウザユーザーの方が多くなるだろうから
ウェブアプリを開発できない言語は先生きのこれない
0092デフォルトの名無しさん
2011/09/02(金) 07:46:43.910093デフォルトの名無しさん
2011/09/02(金) 11:51:41.61組み込みみたいにシビアな世界ではそんなもの通用しないから
0094デフォルトの名無しさん
2011/09/02(金) 12:32:34.70そのセリフを吐きながら新しいものを全く吸収できず自滅していった技術者が
過去どれだけいたっけかな。
メインフレーム以外はおもちゃと断じていた奴
ゲームは機械語プログラミングが全てと信じていた奴
etcetc
0095デフォルトの名無しさん
2011/09/02(金) 14:36:10.97そのためのキラーアプリを作ろう。
どんどんアイディアを言ってくれ!
0096デフォルトの名無しさん
2011/09/02(金) 14:37:10.140097デフォルトの名無しさん
2011/09/02(金) 15:17:22.920098デフォルトの名無しさん
2011/09/02(金) 15:18:03.470099デフォルトの名無しさん
2011/09/02(金) 15:19:21.880100デフォルトの名無しさん
2011/09/02(金) 15:34:41.720101デフォルトの名無しさん
2011/09/02(金) 17:08:33.53http://www.digitalmars.com/dscript/
0102デフォルトの名無しさん
2011/09/02(金) 18:33:00.23あれどうなったんだろ
0103デフォルトの名無しさん
2011/09/02(金) 18:55:36.22他の考えようか。
0104デフォルトの名無しさん
2011/09/02(金) 19:03:35.86javascript吐くのとかは無理?
0105デフォルトの名無しさん
2011/09/02(金) 19:22:06.050106デフォルトの名無しさん
2011/09/02(金) 19:30:34.83多分まだない。
0107デフォルトの名無しさん
2011/09/02(金) 19:37:08.270108デフォルトの名無しさん
2011/09/03(土) 00:32:31.910109デフォルトの名無しさん
2011/09/03(土) 00:37:34.130110デフォルトの名無しさん
2011/09/03(土) 01:09:52.050111デフォルトの名無しさん
2011/09/03(土) 01:30:14.230112デフォルトの名無しさん
2011/09/03(土) 02:42:20.53CもC++もC#もObjective-CもJavaもJavascriptも何らかの形で常に仕様変更してるよ
0113デフォルトの名無しさん
2011/09/03(土) 04:33:27.180114デフォルトの名無しさん
2011/09/04(日) 15:45:15.15そんな言語使えるか
0115デフォルトの名無しさん
2011/09/04(日) 15:49:21.610116デフォルトの名無しさん
2011/09/04(日) 16:04:31.690117デフォルトの名無しさん
2011/09/04(日) 16:26:12.12'}' だけの行とか絶対出ないし
総合的に見てもせいぜいエラー率150%くらいのもんだろ
0118デフォルトの名無しさん
2011/09/04(日) 21:19:29.59関数の引数に「scope」って付けても何も変わらないような気がするけど、値渡しで「const scope」無意味じゃない?
0119デフォルトの名無しさん
2011/09/04(日) 21:24:35.44str = "b";
代入できちゃうな
これってバグだよね
0120デフォルトの名無しさん
2011/09/04(日) 22:22:46.45http://ideone.com/AjSpV
0121デフォルトの名無しさん
2011/09/04(日) 22:31:49.86肩の力抜けよ。ここはDスレだぜ
0122デフォルトの名無しさん
2011/09/04(日) 22:32:53.43windowsだと普通に代入できるよ。
そもそも、そこは「Error: constant str is not an lvalue」とコンパイルエラーになるべき。
0123デフォルトの名無しさん
2011/09/08(木) 15:22:59.790124デフォルトの名無しさん
2011/09/08(木) 15:51:47.980125デフォルトの名無しさん
2011/09/08(木) 16:04:26.570126デフォルトの名無しさん
2011/09/08(木) 16:08:01.130127デフォルトの名無しさん
2011/09/08(木) 19:38:22.260128デフォルトの名無しさん
2011/09/08(木) 22:00:36.32D使いのくせにそんな事も知らないの?
0129デフォルトの名無しさん
2011/09/08(木) 23:32:21.700130デフォルトの名無しさん
2011/09/08(木) 23:37:03.050131デフォルトの名無しさん
2011/09/09(金) 22:40:09.84Tangoはじまったな
0132デフォルトの名無しさん
2011/09/10(土) 01:49:26.32うん関係なかったな
0133デフォルトの名無しさん
2011/09/10(土) 02:20:33.13http://d.puremagic.com/issues/show_bug.cgi?id=6609
Bugzillaに登録して
https://github.com/D-Programming-Language/phobos/pull/250
Pull request出した
0134デフォルトの名無しさん
2011/09/10(土) 08:02:33.69もはやぼくのかんがえたさいきょうのぷろぐらみんぐげんご
0135デフォルトの名無しさん
2011/09/10(土) 08:37:41.65乙なんだな
bitbucketばっかり使ってるけどgithubにもアカウント作っとこうかしらん
0136デフォルトの名無しさん
2011/09/10(土) 14:45:07.68どうして今までコンパイル通ってたのかわからないような部分を修正しただけで動いちまったぞ
どうなってるんだ?Dはもう終わっちまったのか?
0137デフォルトの名無しさん
2011/09/10(土) 14:46:17.980138デフォルトの名無しさん
2011/09/10(土) 16:44:42.91途端に何もかも動かなくなった
びっくりするほどユートピア!
0139デフォルトの名無しさん
2011/09/10(土) 18:08:47.95どこが悪いのかとunittestと比較しようとしたら
unittestからコピペしてきたのもコンパイル通らなくてワロタ
0140デフォルトの名無しさん
2011/09/10(土) 18:12:19.450141デフォルトの名無しさん
2011/09/10(土) 19:55:30.77・・・と思ったらレファレンスが更新されてNEEEE!
0142デフォルトの名無しさん
2011/09/10(土) 20:27:51.430143デフォルトの名無しさん
2011/09/10(土) 21:10:10.61ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html?a
0144デフォルトの名無しさん
2011/09/10(土) 21:42:16.192.053 => 146,972 バイト
2.054 => 149,532 バイト
2.055 => 150,556 バイト
順調にむくんでいってる
0145デフォルトの名無しさん
2011/09/10(土) 21:58:32.440146デフォルトの名無しさん
2011/09/10(土) 21:58:49.27むしろ今までコンパイル通ってたのがおかしかった
0147デフォルトの名無しさん
2011/09/10(土) 22:45:55.540148デフォルトの名無しさん
2011/09/10(土) 22:56:47.36またGC周りの何かの予感が
自分のバグならいいけど・・いやいくないけど
0149デフォルトの名無しさん
2011/09/10(土) 23:02:01.31'['が含まれてるパスがおかしいのは確認した
というか'['とか普通にパスに使える文字じゃないの?なんなのこの仕様
0150デフォルトの名無しさん
2011/09/11(日) 00:06:28.190151デフォルトの名無しさん
2011/09/11(日) 00:38:38.06UNIX系のシェルだと、[ABC]でAかBかCのどれか、みたいなワイルドカードが使えるものがあるんだよ。
……本当に'['を指定したい時のための記法は用意されてるんだろうか。
0152デフォルトの名無しさん
2011/09/11(日) 00:46:08.96replace("[", "[[]")でなんとかなった
glabMatchはそれやるとassertで落ちる
0153デフォルトの名無しさん
2011/09/11(日) 05:03:12.230154デフォルトの名無しさん
2011/09/11(日) 05:20:47.300155デフォルトの名無しさん
2011/09/11(日) 08:35:13.320156デフォルトの名無しさん
2011/09/11(日) 08:45:34.340157デフォルトの名無しさん
2011/09/11(日) 09:40:41.880158デフォルトの名無しさん
2011/09/11(日) 09:55:54.490159デフォルトの名無しさん
2011/09/11(日) 17:34:05.26やっぱりこっちが本家なのか
日本語との照会がしづらくなるのう
0160デフォルトの名無しさん
2011/09/11(日) 18:06:34.25これがコンパイル通らないのって仕様?@2.055
public int hoge() @property { return 0; }
や
public auto hoge() { return 0; }
はもちろん通る
0161デフォルトの名無しさん
2011/09/11(日) 18:08:59.49手をつけるのを遅らせておいてよかった・・・
0162デフォルトの名無しさん
2011/09/11(日) 18:10:02.59public auto hoge() { return 0; }
}
でとりあえずコンパイルはできるみたい。
0163デフォルトの名無しさん
2011/09/11(日) 18:14:38.02あれどうしてあんな風になったんだろ?
0164デフォルトの名無しさん
2011/09/11(日) 18:25:14.51俺はこっちがいい
0165デフォルトの名無しさん
2011/09/11(日) 19:25:24.14std.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
0166デフォルトの名無しさん
2011/09/11(日) 20:08:22.800167デフォルトの名無しさん
2011/09/11(日) 20:52:58.99カレントディレクトリ取る方法が他にあれば・・・
0168デフォルトの名無しさん
2011/09/11(日) 21:24:59.46なんでstd.fileなのさ
0169デフォルトの名無しさん
2011/09/12(月) 00:53:14.41Windowsユーザにその名前は盲点だった
そして最新のドキュメントからは消えている・・・
0170デフォルトの名無しさん
2011/09/12(月) 02:11:28.75std.file と std.path は統合してもいいんじゃ?と時々思う。
分かれてるもっともらしい理由を以前ここで見た気がするが忘れた。
ttp://ideone.com/t2Ym9
2.055のバグ(?)かと思ったけど、Ideoneの出力もなんか予想と違うような…
0171デフォルトの名無しさん
2011/09/12(月) 02:56:25.22……だったらrel2absの意味がわからんか
0172デフォルトの名無しさん
2011/09/13(火) 01:44:39.54core.memory.GC.disable();すると落ちなくなる、、
何これ、、、、、
0173デフォルトの名無しさん
2011/09/13(火) 10:23:55.95どっか別のオブジェクトのデストラクタが意図せぬ順番で走るパターン
とエスパーしてみる
0174デフォルトの名無しさん
2011/09/13(火) 10:28:40.15TIOBE 順位の躍進の理由は
C++11に注目が集まって、それと比較するためとにらんでいる
D = C++11 と混同した層とかそういうデマとかもたくさんあったに違いない
だから2〜3ヶ月もすると(ry
0175デフォルトの名無しさん
2011/09/13(火) 19:32:09.370176デフォルトの名無しさん
2011/09/13(火) 20:12:33.24ttp://www.tiobe.com/index.php/paperinfo/tpci/D.html
0177デフォルトの名無しさん
2011/09/13(火) 21:03:17.400178デフォルトの名無しさん
2011/09/13(火) 21:45:57.54やっと正式版になったかと思ったのも懐かしい思い出
0179デフォルトの名無しさん
2011/09/14(水) 02:13:15.18単純にAndreiの入門書が出たからだよ。
大規模C++ソフトウェアデザインの著者だからネームバリューが凄い
0180デフォルトの名無しさん
2011/09/14(水) 13:16:56.890181デフォルトの名無しさん
2011/09/15(木) 00:36:33.060182デフォルトの名無しさん
2011/09/15(木) 01:32:20.670183デフォルトの名無しさん
2011/09/15(木) 09:33:30.3016384バイトごとに必ず文字抜けする
このバグ、誰も報告してないんやろか・・・
0184183
2011/09/15(木) 10:00:52.37OPTLINK (R) for Win32 Release 8.00.12
0185デフォルトの名無しさん
2011/09/15(木) 17:48:44.11報告済みなら誰かが重複マークをつけてくれると思って書いたらいい
0186デフォルトの名無しさん
2011/09/15(木) 18:04:45.48D言語はウォルターの人間愛でできてるんだよ!!!
0187デフォルトの名無しさん
2011/09/15(木) 18:09:28.850188デフォルトの名無しさん
2011/09/15(木) 18:52:07.48http://d.puremagic.com/issues/show_bug.cgi?id=6673
0189デフォルトの名無しさん
2011/09/15(木) 19:38:16.95久しぶりに覗いたらChangelogがちゃんと日本語化されててワロタ
というか、日本語で解説見るまで toUTF16z → toUTFz になったの気づかなかった
有志には乙と言わざるを得ない
0190デフォルトの名無しさん
2011/09/15(木) 19:47:51.72友の会の中の人は本当に乙だな
0191デフォルトの名無しさん
2011/09/15(木) 19:54:08.98もう2〜3個クラス追加したら出なくなった
0192デフォルトの名無しさん
2011/09/15(木) 23:51:38.450193デフォルトの名無しさん
2011/09/16(金) 01:22:45.57しかも単純なコードだと再現しねぇ(dmd2.055win)
0194デフォルトの名無しさん
2011/09/16(金) 01:56:45.220195デフォルトの名無しさん
2011/09/16(金) 06:22:39.75Safeモードもあるし。
0196デフォルトの名無しさん
2011/09/16(金) 10:33:12.820197デフォルトの名無しさん
2011/09/16(金) 20:00:06.390198デフォルトの名無しさん
2011/09/16(金) 20:06:21.46SafeD ってのは別物なの?
0199デフォルトの名無しさん
2011/09/17(土) 17:18:52.43propertyはまだあるよね?
0200デフォルトの名無しさん
2011/09/17(土) 17:47:43.97phobosさえ使わなければちゃんと機能したのになぁ…
0201デフォルトの名無しさん
2011/09/17(土) 19:51:10.430202デフォルトの名無しさん
2011/09/17(土) 21:01:55.830203デフォルトの名無しさん
2011/09/17(土) 21:03:29.02名前はDOSで決まり
0204デフォルトの名無しさん
2011/09/17(土) 21:22:36.140205デフォルトの名無しさん
2011/09/17(土) 23:02:18.83スレよごしてごめん
0206デフォルトの名無しさん
2011/09/17(土) 23:08:27.230207デフォルトの名無しさん
2011/09/18(日) 03:40:06.23もはやalias thisだろ
0208デフォルトの名無しさん
2011/09/18(日) 09:55:18.32ネイティブ言語としてのまさかの覇権があるかもよ
0209デフォルトの名無しさん
2011/09/18(日) 10:03:19.850210デフォルトの名無しさん
2011/09/18(日) 11:26:35.64ひと手間加えるだけでECMA ScriptやLuaのような
連想配列ベースのオブジェクトが作れるという魔法の道具ですぜ。
0211デフォルトの名無しさん
2011/09/18(日) 16:58:12.02kwsk
0212デフォルトの名無しさん
2011/09/18(日) 17:33:19.480213デフォルトの名無しさん
2011/09/18(日) 17:35:12.260214デフォルトの名無しさん
2011/09/18(日) 18:48:11.060215デフォルトの名無しさん
2011/09/18(日) 18:56:08.440216デフォルトの名無しさん
2011/09/18(日) 22:02:25.15sizediff_t indexOf(char1, char2)(const(char1)[] s, const(char2)[] sub )
のような、
関数名(型名)(引数){}の様な構文ってどのような解釈をしたらいいんですか?
関数名(引数){}な構文しか知らないんで、どう読んで良いのか良く判りません。
0217デフォルトの名無しさん
2011/09/18(日) 22:14:19.98これです
0218デフォルトの名無しさん
2011/09/19(月) 02:30:26.730219デフォルトの名無しさん
2011/09/19(月) 02:31:30.430220デフォルトの名無しさん
2011/09/20(火) 02:32:18.020221デフォルトの名無しさん
2011/09/20(火) 07:13:22.23コンパイラがどこまでsharedとの一貫性を保ってくれるかは不明。
shared関係はなんというかまだ整理されきっていない感じ。
0222デフォルトの名無しさん
2011/09/21(水) 15:18:23.70enum SCE_D {
COMMENT,
COMMENTLINE
}
assertEquals(std.conv.parse!SCE_D("COMMENTLINE"), SCE_D.COMMENTLINE);
----------------------------------------------------------------------
[email protected](123): COMMENT != COMMENTLINE
0223222
2011/09/21(水) 15:55:58.81FIX されてないじゃん
なんぞ・・・
0224デフォルトの名無しさん
2011/09/23(金) 03:50:26.96それコンパイル時に文字列のタプルを長さ順にソートしないといけないから
実装がえらく面倒になる。
0225デフォルトの名無しさん
2011/09/23(金) 10:31:39.37単語切り出して完全一致を比較するだけでいいはず
0226デフォルトの名無しさん
2011/09/23(金) 10:52:13.80何でこんな名前つけたし・・・
0227デフォルトの名無しさん
2011/09/23(金) 10:58:40.740228デフォルトの名無しさん
2011/09/23(金) 11:29:34.14純然たる恐怖の神であるDeimosよりは合ってるんじゃないかな
0229デフォルトの名無しさん
2011/09/23(金) 19:58:08.290230デフォルトの名無しさん
2011/09/23(金) 22:51:35.070231デフォルトの名無しさん
2011/09/24(土) 01:17:05.520232デフォルトの名無しさん
2011/09/24(土) 01:18:04.990233デフォルトの名無しさん
2011/09/25(日) 01:21:41.500234デフォルトの名無しさん
2011/09/25(日) 01:46:23.190235デフォルトの名無しさん
2011/09/25(日) 01:46:43.690236デフォルトの名無しさん
2011/09/27(火) 03:19:52.49real[real] foo;
foo[0.12345] = 0.99; // ok
writef( "foo = %f", foo[0.12345] ); // NG
変数を介してもだめで、foreachはRenge violationでした。
もしかしてバグでしょうか?
それとも実数型のkeyはもてないのでしょうか?
0237デフォルトの名無しさん
2011/09/27(火) 03:33:11.330238デフォルトの名無しさん
2011/09/27(火) 03:42:35.94仕様かどうかは面倒なので調べない てかもう寝る
foreach で回すときは連想配列のプロパティを使わないとダメなはず
foreach (f; foo.keys) {
writeln(f);
writeln(foo[f]);
}
0239デフォルトの名無しさん
2011/09/28(水) 20:45:36.41class C : I {}
void func(Object obj) {}
func(cast(I) new C); // コンパイルエラー
interfaceのインスタンスは無条件でObjectのインスタンスと看做していいんじゃないかなぁ
それともObjectを実装してなくてintarfaceを実装してる存在なんてものがありうるの?
0240デフォルトの名無しさん
2011/09/28(水) 21:03:10.91いつのまにかinterfaceからObjectにダウンキャストできるようになったけど、
COM由来のinterfaceでそれやったらどうなるか恐ろしいんだぜ。
Delphiも事情は一緒だけど……
0241デフォルトの名無しさん
2011/09/28(水) 21:37:34.74俺はなんとなく java みたいに機能追加のための方便の一種として
しか認識してないわ > interface
0242デフォルトの名無しさん
2011/09/28(水) 23:00:43.62そういうことだったのね
0243デフォルトの名無しさん
2011/09/29(木) 00:14:13.960244デフォルトの名無しさん
2011/09/29(木) 19:09:13.70そもそも大幅に性質の違うclassどもに便宜上一部共通の部分を作って
一緒くたに扱う必要がある時点でまずいのか?
mixinじゃコレクションは作れないしなぁ
Variantの配列なんて悪夢のような代物は見たくもないし
0245デフォルトの名無しさん
2011/09/29(木) 20:43:40.770246デフォルトの名無しさん
2011/09/29(木) 20:44:26.53>>244で書いたような事じゃObjectへのダウンキャストは発生しない
そういう状況で出てきたinterface型のオブジェクトを
DFLのControl#tag(こいつがObject型)とかにセットしようとした時に例の問題が発生するのであって
このtagは.NET由来でObjectになってるんだと思うが、こいつが本来Variantであるべきなんだ
俺が全面的に間違ってました。ごめんなさい。
だからDさん俺を破壊的変更するのはやめてください、やめて、とめ あ
0247デフォルトの名無しさん
2011/09/29(木) 20:55:39.26ふつーにObjectにダウンキャストしてもいいんじゃね?
0248デフォルトの名無しさん
2011/09/29(木) 21:41:38.670249デフォルトの名無しさん
2011/09/30(金) 05:42:46.54DFL程度のソースだったらTagを独自に置き換えちゃってもよさそうだけど
0250デフォルトの名無しさん
2011/10/01(土) 13:11:33.010251デフォルトの名無しさん
2011/10/01(土) 18:27:54.380252デフォルトの名無しさん
2011/10/02(日) 00:07:48.25本当にそのコンテキストでinterfaceを使う必要があるのかよく考えてみて
0253デフォルトの名無しさん
2011/10/02(日) 00:39:48.67interfaceでいいと思うんだけどなぁ
0254デフォルトの名無しさん
2011/10/02(日) 02:08:09.190255デフォルトの名無しさん
2011/10/02(日) 04:17:02.490256デフォルトの名無しさん
2011/10/02(日) 04:20:29.54でなければVariant?
0257デフォルトの名無しさん
2011/10/02(日) 08:39:17.92専用interfaceなんかにしたら既存のクラスを置けなくなっちゃう><
いやラッパかませば置けるけど意味無いし
役割的にはVariantが妥当じゃないかな
0258デフォルトの名無しさん
2011/10/02(日) 16:36:03.96まだ破壊的仕様変更やってんの?
0259デフォルトの名無しさん
2011/10/02(日) 17:02:52.31主要API消滅するときも0.002バージョン分ほど猶予がある
0260デフォルトの名無しさん
2011/10/02(日) 18:10:56.21そこそこ安定するのではないだろうか・・・年明けくらい
0261デフォルトの名無しさん
2011/10/02(日) 19:01:51.31標準ライブラリを色々いじってるところって感じでいいの?
昔いじってる時いまいちイケてないライブラリだったけど
ずいぶん変わったのかな
0262デフォルトの名無しさん
2011/10/02(日) 19:10:28.76ロケールとかエンコーディングとか微妙に基本的な部分が欠けてるような気もするが
基本的にはすごくいい感じ、だと思う、たぶん…
D1の頃から「他の言語よりずいぶん早くやりたい事を書けるなぁ」と思ってたんだが
そういう面ではグレードアップしてるとは実感してる
0263デフォルトの名無しさん
2011/10/02(日) 19:48:44.21やはりCJKの人間が関わらないと厳しいのだろうか
0264デフォルトの名無しさん
2011/10/02(日) 20:01:58.53文字コード透過性だのなんだのは内部コードをUnicodeに決め打ってる時点で捨ててる。
だからsetlocaleだのmbなんたらだのは要らなくて、
「ファイルをOSのロケールからUnicodeに変換しながら読む」程度の機能さえあれば充分なはず。
0265デフォルトの名無しさん
2011/10/02(日) 20:30:11.170266デフォルトの名無しさん
2011/10/02(日) 20:39:23.17いや入出力なのか?
0267デフォルトの名無しさん
2011/10/02(日) 20:44:13.31そういうのは、あっても使われないから問題ない。
日本でも数字区切りを3桁で区切るか4桁で区切るか、12/31って書くか12月31日って書くか、
頭に円記号を付けるか最後に漢字で「円」って付けるかなんてのは
ハッキリ言って用途次第アプリケーション次第であって、OSの設定を拾って切り替わったりしたら逆に迷惑な場合がほとんどだろ。
0268デフォルトの名無しさん
2011/10/02(日) 20:49:38.400269デフォルトの名無しさん
2011/10/02(日) 22:45:42.67年/月/日 月/日/年 日/月/年 の順番あたりは
使わなくもないかなあ
0270デフォルトの名無しさん
2011/10/02(日) 22:48:12.52メモリ上のデータのエンコーディングを変えたいって事は結構ある
入出力にも当然必要だけど、バイト配列と文字列の相互変換も必要
0271デフォルトの名無しさん
2011/10/02(日) 23:11:00.27「OSの現在のロケールのエンコーディング」と「内部コードであるUnicode」以外は
「標準ライブラリ」でやらずに、iconv(をDでラップしたライブラリ)にでも任せるべきだと思うんだ。
0272デフォルトの名無しさん
2011/10/02(日) 23:15:55.10ああ、>>271はちょっと違うな、ごめん。
toMBSzはAPIコールに特化してるけど、こいつの逐次処理やストリームからの読み書きに便利な版が必要って話だよね。
それなら賛成。
0273デフォルトの名無しさん
2011/10/02(日) 23:47:12.19.NETのEncodingは便利よ
0274デフォルトの名無しさん
2011/10/03(月) 01:15:11.260275デフォルトの名無しさん
2011/10/03(月) 02:05:14.380276デフォルトの名無しさん
2011/10/03(月) 02:15:22.210277デフォルトの名無しさん
2011/10/03(月) 03:13:57.160278デフォルトの名無しさん
2011/10/03(月) 07:49:17.830279デフォルトの名無しさん
2011/10/04(火) 00:09:05.29エンコーディングの実装にOSの機能はどこまで使えるのだろうか
0280デフォルトの名無しさん
2011/10/04(火) 00:33:03.90Linuxなんかではlibcのロケール関数を使うことになるが言うまでもなくコイツの仕様は酷過ぎる上にBSD系と動作が違う
MacだとCoreFoundationをリンクしないといけない、Windowsだとエンコーディングを数字で指定するがこれと
他OSでLANG環境変数で指定したりするエンコーディング名と一対一対応があるわけでも勿論無い
……とまあそんな感じなので、iconvに丸投げが一番楽よ。
API自体はWindowsが一番整備されてるかな、よく言われるように変換テーブルが多少独自なのを除けば。
0281デフォルトの名無しさん
2011/10/04(火) 01:31:14.64自国版のOSで使えさえすればいいとは思うけど
それ抜きにしてもAPIは厳しそうだな・・・
0282デフォルトの名無しさん
2011/10/04(火) 01:43:05.75ダイナミックリンクしてもいいとは思うけど。
0283デフォルトの名無しさん
2011/10/04(火) 12:55:36.47http://www.kmonos.net/alang/d/2.0/phobos/std_encoding.html
中身は、変換テーブルでやるなり、iconv呼ぶなりして
0284デフォルトの名無しさん
2011/10/04(火) 16:56:35.51俺初めてstd.encoding見たけど、dchar : 他のエンコーディングの複数バイト が常に 1 : n なのを想定されてないかこのインターフェース?
誰かウォルたんに合成文字の存在を教えてあげないと。
0285デフォルトの名無しさん
2011/10/05(水) 13:47:51.03VBのScriptControlからEvalしても何も帰ってこない。
ScriptControl1.Language = "DMDScript"
MsgBox ScriptControl1.Eval("1") 'Empty
MsgBox ScriptControl1.Eval("+") 'Anonymous(1) : Error: expression expected, not 'EOF'
エラーは出るからそれなりに動いてはいるようだけど、だれか助けて
0286デフォルトの名無しさん
2011/10/08(土) 11:46:51.260287デフォルトの名無しさん
2011/10/08(土) 12:13:48.370288デフォルトの名無しさん
2011/10/08(土) 12:54:06.050289デフォルトの名無しさん
2011/10/08(土) 14:16:46.65表示なしでいい
0290デフォルトの名無しさん
2011/10/08(土) 14:34:23.05それじゃDLF使おうかなあ
0291デフォルトの名無しさん
2011/10/08(土) 15:31:51.260292デフォルトの名無しさん
2011/10/08(土) 20:03:55.360293デフォルトの名無しさん
2011/10/08(土) 20:29:40.65Notice: 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");
}
報告できる方よろしくお願いします。
それとも仕様変更だったり?
0294デフォルトの名無しさん
2011/10/08(土) 20:32:43.33ワロタ
DFLは、バグで結構やばい動作することがあるって話があったから、商用で使うなら
気をつけた方がいいぞ
0295デフォルトの名無しさん
2011/10/08(土) 20:33:25.70これは仕様変更。
0296デフォルトの名無しさん
2011/10/08(土) 20:37:33.04やっぱり?
.NETとかも'.'ついてるし'.'ないと分割した後単純に結合できないしやっぱりそうなのかー
コードの拡張子比較してるとこ全部直さないと・・・・
0297デフォルトの名無しさん
2011/10/09(日) 00:20:28.160298デフォルトの名無しさん
2011/10/09(日) 02:19:18.440299デフォルトの名無しさん
2011/10/10(月) 13:11:48.66実際にGCCにコンパイラが組み込まれたら
今までみたいに自由気ままに破壊的変更できなくなるんじゃなかろうか
0300デフォルトの名無しさん
2011/10/10(月) 13:18:03.43利用者とフィードバック増えるとむしろスムーズに進化できる可能性も
0301デフォルトの名無しさん
2011/10/10(月) 13:25:15.96removeの仕様がイケてないというか、テンプレート対応がしょぼいというか・・・
0302デフォルトの名無しさん
2011/10/10(月) 13:34:23.790303デフォルトの名無しさん
2011/10/10(月) 13:40:17.440304デフォルトの名無しさん
2011/10/10(月) 14:12:55.140305デフォルトの名無しさん
2011/10/10(月) 14:29:28.99違うな。俺が間違ってた。ごめんよ、ごめんよ
0306デフォルトの名無しさん
2011/10/13(木) 10:29:16.53DMDScript -> Dart
さようならうぉるたん
0307デフォルトの名無しさん
2011/10/13(木) 13:03:52.610308デフォルトの名無しさん
2011/10/14(金) 12:17:05.74ttp://developers.slashdot.jp/story/11/10/13/0224245/
Google+ で Rob Pike 氏が語ったところによると、C 言語の開発者、K&R の R であるところの Dennis Ritchie 博士が亡くなられた。
70 歳 (Rob Pike 氏による Google+ への投稿) 。
長らく闘病中だったとのことで、先週末に自宅で息を引き取ったそうだ。
0309デフォルトの名無しさん
2011/10/14(金) 15:40:28.43黎明期の偉大な人たちが次々去っていくなぁ
0310デフォルトの名無しさん
2011/10/14(金) 15:59:55.43某Dの人がDart->Dに置換しても通じるとか書いてるから読んでみたら
予想を遙かに超越してDそのまんまだった
まあDはC++も駆逐するけどな
0311デフォルトの名無しさん
2011/10/14(金) 17:07:49.36Dart触ってみようかな。結局Goは敬遠してしまったし。
0312デフォルトの名無しさん
2011/10/14(金) 17:44:36.58C系の記法から「常識的に考えて」導かれる記法だからねえ。
DはGCへの依存を弱めた記法を確立してbetter Cとしての立場を強めるとか
Variantを活用できるようになればなと思う。
0313デフォルトの名無しさん
2011/10/15(土) 14:04:18.25指をくわえてみているだけのD言語erは まさかいないよな?
0314デフォルトの名無しさん
2011/10/15(土) 17:09:54.340315デフォルトの名無しさん
2011/10/15(土) 20:16:42.25という場合もあって一時的に不安定になるけど山を越えると
また安定してくるという…繰り返される歴史
山が高すぎると超えられない。というのもそれなりにありそうだけども
0316デフォルトの名無しさん
2011/10/15(土) 21:20:44.290317デフォルトの名無しさん
2011/10/15(土) 22:06:47.850318デフォルトの名無しさん
2011/10/15(土) 23:16:06.35ウォルたん的にも別にクローズドな開発にする必要なさそうなもんだけど
せっかく発展の余地があるのにもったいない
0319デフォルトの名無しさん
2011/10/17(月) 22:55:27.870320デフォルトの名無しさん
2011/10/17(月) 22:59:05.960321デフォルトの名無しさん
2011/10/18(火) 18:31:28.750322デフォルトの名無しさん
2011/10/19(水) 01:06:12.820323デフォルトの名無しさん
2011/10/19(水) 22:33:35.300324デフォルトの名無しさん
2011/10/19(水) 22:38:28.330325デフォルトの名無しさん
2011/10/19(水) 23:50:24.130326デフォルトの名無しさん
2011/10/20(木) 00:11:13.61テンプレート関数のマングリングがおかしい件
map file の tfunc を検索すると文字化けしてるのがわかる(WinXP 32)
やっと突き止めたぜ・・・
0327デフォルトの名無しさん
2011/10/20(木) 00:23:35.050328デフォルトの名無しさん
2011/10/20(木) 01:37:23.43見落としがあった。保存するファイル名によって再現しなくなるwww
テンプレート云々じゃなくてトータルの文字数カモシレナイ
0329デフォルトの名無しさん
2011/10/20(木) 02:01:22.70void o123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234(){}
void main(){
略();
}
だと正常、1文字付け加えると文字化けか
正常な場合は
_D4test115o123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234FZv
で丁度128文字だしトータル文字数で確かに間違いなさそうだね
0330デフォルトの名無しさん
2011/10/20(木) 02:14:16.76マングリング後の修飾名の文字数→上限128文字を超えると化けた
Windows のみかも。ideoneでは再現せず
http://ideone.com/9TWvd
長いモジュール名(std.algorithmとか)ついたテンプレート使うと
簡単に引っかかっちまう
0331デフォルトの名無しさん
2011/10/20(木) 02:18:35.09バグ報告しとく
0332デフォルトの名無しさん
2011/10/20(木) 03:59:19.24直せオラ! で押し通せばよかった・・・つかれた
0333デフォルトの名無しさん
2011/10/20(木) 10:57:51.06速攻でコメが来てる
・optlinkを直さないと対応できない
・linkerを書き直す計画はあるけどいつになるかわからん
やっぱりoptlinkは切らないとダメだな
0334デフォルトの名無しさん
2011/10/20(木) 19:02:40.75社会に対する罪だと気づいた
0335デフォルトの名無しさん
2011/10/20(木) 19:35:40.510336デフォルトの名無しさん
2011/10/20(木) 20:23:27.570337デフォルトの名無しさん
2011/10/21(金) 00:00:58.480338デフォルトの名無しさん
2011/10/21(金) 15:06:13.850339デフォルトの名無しさん
2011/10/22(土) 11:10:54.16謎のエラーというか色々意味不明な現象が発生するんで調べてみたら、
TLSのせいで複数回DLLがロードされているせいだった
なんちゅう盲点や
0340デフォルトの名無しさん
2011/10/22(土) 11:47:41.59知ってればどうってことないけど、チュートリアルでなるべく周知してかないと
他言語から移行する時の軽いハマりポイントになるかもね
スレッド大量に作るような方向へ向かおうとするんだと、
将来的にTLSでの静的初期化はもっと書きづらくして気軽にやれなくなったりして
0341デフォルトの名無しさん
2011/10/22(土) 18:21:11.000342デフォルトの名無しさん
2011/10/22(土) 18:29:20.71システム言語の看板を掲げるならデバッガが強力じゃないとつらいな
0343デフォルトの名無しさん
2011/10/22(土) 18:55:56.490344デフォルトの名無しさん
2011/10/22(土) 19:17:08.83TLS = Thread local storage
0345デフォルトの名無しさん
2011/10/22(土) 19:28:29.22避けては通れなさそうなんだよな。
Cなんて実質原始CLIみたいなもんなんだけど、デフォTLS前提としない言語外環境との連携をどう考えるか。
素のstatic thisはスレッド毎に走るのに注意、shared static thisはロックに注意、で当面しのぐしか無いがー
0346デフォルトの名無しさん
2011/10/22(土) 20:27:56.440347デフォルトの名無しさん
2011/10/26(水) 10:38:48.83phbosでF1ヘルプ参照できるようになった
mago debugger を選んだ場合の機能が強化されてるみたいだがよくわからん
0348デフォルトの名無しさん
2011/10/26(水) 21:18:01.54今日初めて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言語でも同じようなことができますか?
できないなら諦めますが、できるならその方法をご教示ください。
0349デフォルトの名無しさん
2011/10/26(水) 21:28:35.26代替の方法については、その例に限っていえばループを
foreach (i; 0..n) { // do something }
で、書けばバグを防ぐ役目は果たせるな。
もしくは
void rep(size_t rn, void delegate() dg) { foreach (0..rn) dg(); }
↑こういうのを定義しておけば
↓こう書ける。
rep(n, { // do something });
0350デフォルトの名無しさん
2011/10/26(水) 22:56:40.380351348
2011/10/26(水) 22:59:11.58即レスありがとうございました。
動作させることができました。
拡張性が高そうなので
foreach(i; 0..n)
を使うことにしました。
foreach(i; 1..n)
とかになっても簡単に書けそうなので。
とは言っても、もともとTangoを使っていて、それだと
foreach(i; 0..n)
がコンパイルできなかったので(found '..' when expecting ';' following 'for condition')、Phobosにコードを書き変えました。
PhobosだとWindowsでコンソールアプリを作るときに、文字化けしたと思うので、ちょっとイヤなんですが...。
0352デフォルトの名無しさん
2011/10/26(水) 23:01:25.17構文をこういう風に独自defineする人間の神経は疑うけどね
0353デフォルトの名無しさん
2011/10/26(水) 23:28:04.580354デフォルトの名無しさん
2011/10/26(水) 23:49:54.920355デフォルトの名無しさん
2011/10/27(木) 07:17:55.570356デフォルトの名無しさん
2011/10/27(木) 11:31:57.49std.datetime の解説記事ができてた。
だれか翻訳をt(ry
0357デフォルトの名無しさん
2011/10/27(木) 13:39:27.540358デフォルトの名無しさん
2011/10/27(木) 16:45:13.810359デフォルトの名無しさん
2011/10/27(木) 19:04:21.39おお、簡潔な解説が出たのか!と思って行って著者名を見た時の絶望感
0360デフォルトの名無しさん
2011/10/27(木) 23:43:09.19今回のreleaseの大きいところは
Bugzilla 3748: inoutがまともに動くようになった
Bugzilla 3659: structのopEqualsシグネチャ制限がなくなった
Bugzilla 4022 他 CTFEでAAが結構まともに動くようになった
辺りかな。
0361デフォルトの名無しさん
2011/10/28(金) 00:00:52.950362デフォルトの名無しさん
2011/10/28(金) 00:41:21.27http://dusers.dip.jp/modules/forum/index.php?topic_id=106
もう少し細かく書いた。
0363デフォルトの名無しさん
2011/10/28(金) 00:53:39.180364デフォルトの名無しさん
2011/10/28(金) 07:15:26.25D2もいよいよ安定してきてしまった感が
0365デフォルトの名無しさん
2011/10/28(金) 11:01:12.68新たなバグもどんどん増えているぞ
コンパイルできないたすけて
0366デフォルトの名無しさん
2011/10/28(金) 13:15:23.420367デフォルトの名無しさん
2011/10/28(金) 13:32:44.020368デフォルトの名無しさん
2011/10/28(金) 18:54:26.370369デフォルトの名無しさん
2011/10/28(金) 19:01:44.43do
if (derived is base)
return true;
while ((derived = derived.base) !is null)
return false;
---
2.055までこれがコンパイル通ってたという事実に驚愕しきり
0370デフォルトの名無しさん
2011/10/28(金) 20:00:20.97たとえば?
0371デフォルトの名無しさん
2011/10/28(金) 21:09:23.720372デフォルトの名無しさん
2011/10/28(金) 21:22:12.52そこに載ってる他の奴は…死んでるねぇ…
0373デフォルトの名無しさん
2011/10/28(金) 22:22:37.03そういうのは結構あると思う。
メチャメチャな文法はテストしにくい。
壊そうと遊んでたらいくつか見つけたことがある
0374デフォルトの名無しさん
2011/10/29(土) 03:48:19.150375デフォルトの名無しさん
2011/10/29(土) 06:58:28.320376デフォルトの名無しさん
2011/10/29(土) 17:32:00.400377デフォルトの名無しさん
2011/10/30(日) 03:46:05.260378デフォルトの名無しさん
2011/10/31(月) 22:41:45.560379デフォルトの名無しさん
2011/10/31(月) 23:03:33.240380デフォルトの名無しさん
2011/11/01(火) 14:01:45.550381デフォルトの名無しさん
2011/11/02(水) 00:39:57.710382デフォルトの名無しさん
2011/11/02(水) 00:56:58.89do { ... } while(...) の後に;が必須になったやつか。
それは確かに自分も驚いた。
0383デフォルトの名無しさん
2011/11/02(水) 12:01:24.45罠にしかならないから do - until に変えてほしいわ
0384デフォルトの名無しさん
2011/11/03(木) 11:27:22.630385デフォルトの名無しさん
2011/11/03(木) 16:44:57.79スクロールさせまくると表示だけ固まりやがる
0386デフォルトの名無しさん
2011/11/04(金) 01:15:46.110387デフォルトの名無しさん
2011/11/05(土) 01:31:47.860388デフォルトの名無しさん
2011/11/06(日) 19:24:23.17使って大丈夫なの?
0389デフォルトの名無しさん
2011/11/06(日) 21:35:45.31今見てみたら…
Windowsの部分は、Ansi系APIつかってる (Unicode文字を含んだPATHからは読み込めない)
しかもUTF-8←→Ansi変換が全くされてない (ノ∀`)アチャー
0390デフォルトの名無しさん
2011/11/06(日) 23:28:02.220391デフォルトの名無しさん
2011/11/06(日) 23:51:01.390392デフォルトの名無しさん
2011/11/07(月) 13:08:11.03OPTLINKのエラー(Error 42:Symbol Undefined)が大量に出てきた
visualC#を直前に入れていたので、C#アンインストールしても、
dmd入れなおしても直んないんだけど、どうすればいい?
以下エラー内容の最初の方
OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
http://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)
0393デフォルトの名無しさん
2011/11/07(月) 13:10:33.20windows7 Ultimate 64bit版で起きた現象です
0394デフォルトの名無しさん
2011/11/07(月) 13:42:33.220395デフォルトの名無しさん
2011/11/07(月) 16:09:19.80素人以下wwwwwwwww
0396392
2011/11/07(月) 17:24:59.79dmdをinstallerで入れなおしたらエラーが下に変わった
(エラー内容抜粋)
OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
http://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
0397デフォルトの名無しさん
2011/11/07(月) 18:18:07.510398デフォルトの名無しさん
2011/11/07(月) 22:55:54.28dmd入れ直してるならシロの気もするけど。
0399デフォルトの名無しさん
2011/11/07(月) 23:50:37.620400デフォルトの名無しさん
2011/11/07(月) 23:53:31.1864bitのexeファイルが生成されてるわけじゃないけど
0401デフォルトの名無しさん
2011/11/08(火) 00:50:13.18なるほど、思い出した
0402sage
2011/11/08(火) 03:20:18.41実行したプロセスをタスクマネージャで確認すれば判る
0403デフォルトの名無しさん
2011/11/08(火) 04:46:18.030404デフォルトの名無しさん
2011/11/09(水) 22:05:18.25「A以上B未満」な要素を列挙したいんですけどなんかうまい方法ありますか?
upperBoundとlowerBoundの両方を適用できたら楽だったんですが
0405デフォルトの名無しさん
2011/11/10(木) 23:26:40.420406デフォルトの名無しさん
2011/11/11(金) 00:57:10.960407デフォルトの名無しさん
2011/11/11(金) 01:37:29.920408デフォルトの名無しさん
2011/11/11(金) 12:45:00.74こんな感じにforeachループ内で各ループのスコープ時の変数を
それぞれdelegateに渡したいんだけど、結果が全てループの最後の
時のもので処理されてしまうのです。何か良い方法ありますか。
Javaのfinal的なものが必要?
0409デフォルトの名無しさん
2011/11/11(金) 13:09:25.44対策はこんなか http://ideone.com/AZrzo
なんか既視感あるな
0410デフォルトの名無しさん
2011/11/11(金) 13:33:53.70ありがとうございます。
0411デフォルトの名無しさん
2011/11/11(金) 13:36:42.500412デフォルトの名無しさん
2011/11/11(金) 18:22:23.630413デフォルトの名無しさん
2011/11/11(金) 21:03:39.39new演算子がキモい
0414デフォルトの名無しさん
2011/11/11(金) 21:14:35.12javascript shit
0415デフォルトの名無しさん
2011/11/11(金) 21:40:56.680416デフォルトの名無しさん
2011/11/12(土) 01:28:11.080417デフォルトの名無しさん
2011/11/12(土) 02:26:42.380418デフォルトの名無しさん
2011/11/14(月) 05:36:52.67しかもD1のも
普及に向けて本腰を入れ始めたか
0419デフォルトの名無しさん
2011/11/14(月) 06:20:03.530420デフォルトの名無しさん
2011/11/14(月) 08:00:00.230421デフォルトの名無しさん
2011/11/14(月) 10:22:58.26その情報を知った場所を教えてくれないかい
0422デフォルトの名無しさん
2011/11/14(月) 13:06:56.990423デフォルトの名無しさん
2011/11/14(月) 13:11:01.81>>159 が解消される
0424デフォルトの名無しさん
2011/11/14(月) 15:27:44.01こっちの話か
古いサンプルコードが動かないみたいな
積もりに積もった問題を一気に直す積もりかな
0425デフォルトの名無しさん
2011/11/14(月) 20:26:51.950426デフォルトの名無しさん
2011/11/14(月) 20:32:43.31つGoogle翻訳
0427デフォルトの名無しさん
2011/11/14(月) 21:07:56.39それからD語
0428デフォルトの名無しさん
2011/11/14(月) 21:23:40.190429デフォルトの名無しさん
2011/11/14(月) 22:22:33.630430デフォルトの名無しさん
2011/11/14(月) 23:25:25.890431デフォルトの名無しさん
2011/11/15(火) 09:28:26.930432デフォルトの名無しさん
2011/11/17(木) 07:24:16.840433デフォルトの名無しさん
2011/11/17(木) 20:36:48.26別のリンカ使いたい
0434デフォルトの名無しさん
2011/11/17(木) 21:29:12.10誰かOpen Watcom C でなんとかできる猛者はいないか
0435デフォルトの名無しさん
2011/11/17(木) 22:59:52.710436デフォルトの名無しさん
2011/11/17(木) 23:38:33.99結局「コンパイルが速い」(キリッ
とか言ってる裏でその辺が犠牲になってるんだよな
0437デフォルトの名無しさん
2011/11/17(木) 23:40:49.600438デフォルトの名無しさん
2011/11/18(金) 00:48:50.95逃げずに堂々としてればどうとでもなる
0439デフォルトの名無しさん
2011/11/19(土) 08:14:04.360440デフォルトの名無しさん
2011/11/19(土) 10:37:04.13不払いで良いからサービス残業でしょう?
0441デフォルトの名無しさん
2011/11/19(土) 11:29:55.780442デフォルトの名無しさん
2011/11/19(土) 13:32:30.450443デフォルトの名無しさん
2011/11/19(土) 13:33:27.630444デフォルトの名無しさん
2011/11/19(土) 16:31:22.610445デフォルトの名無しさん
2011/11/19(土) 18:37:27.38http://hibari.2ch.net/test/read.cgi/tech/1261676778/213
http://hibari.2ch.net/test/read.cgi/tech/1272358443/83
http://hibari.2ch.net/test/read.cgi/tech/1321350331/22
http://hibari.2ch.net/test/read.cgi/tech/1318935200/82
http://hibari.2ch.net/test/read.cgi/tech/1290415962/444
http://hibari.2ch.net/test/read.cgi/tech/1314133332/444
http://hibari.2ch.net/test/read.cgi/tech/1315141054/25
http://hibari.2ch.net/test/read.cgi/tech/1321282584/4
http://hibari.2ch.net/test/read.cgi/tech/1156332916/186
http://hibari.2ch.net/test/read.cgi/tech/1177431417/279
http://hibari.2ch.net/test/read.cgi/tech/1295493964/744
http://hibari.2ch.net/test/read.cgi/tech/1300000513/237
http://hibari.2ch.net/test/read.cgi/tech/1163319215/911
0446デフォルトの名無しさん
2011/11/21(月) 21:27:16.820447デフォルトの名無しさん
2011/11/21(月) 23:37:29.27たまにパッケージングのアルバイトが呼ばれる、と妄想
0448デフォルトの名無しさん
2011/11/22(火) 00:49:24.400449デフォルトの名無しさん
2011/11/22(火) 01:13:25.280450デフォルトの名無しさん
2011/11/22(火) 23:25:13.20SICPをひたすら実装
0451デフォルトの名無しさん
2011/11/23(水) 00:01:32.190452デフォルトの名無しさん
2011/11/23(水) 00:22:12.890453デフォルトの名無しさん
2011/11/23(水) 16:22:19.1964bit対応とともに玉砕しようぜ
0454デフォルトの名無しさん
2011/11/23(水) 22:20:44.35がんばれ
0455デフォルトの名無しさん
2011/11/24(木) 21:18:31.16環境はwin32
0456デフォルトの名無しさん
2011/11/24(木) 22:09:53.240457デフォルトの名無しさん
2011/11/24(木) 22:16:37.180458デフォルトの名無しさん
2011/11/24(木) 23:13:55.190459デフォルトの名無しさん
2011/11/24(木) 23:42:19.95今は知らぬ。
0460デフォルトの名無しさん
2011/11/25(金) 03:26:35.41今のところ動いている…ぽい。
0461デフォルトの名無しさん
2011/11/27(日) 13:48:11.18DDOCの仕組みって
環境依存で出力されなくなる関数( version (Windows)とか )
をちゃんと処理できるんだっけ?
0462デフォルトの名無しさん
2011/11/28(月) 02:37:03.240463デフォルトの名無しさん
2011/11/28(月) 03:04:36.57それまでコンパイルできてたプロジェクトもexe吐けなくなったし
コンソールから打ってもdmdなんてないぞって怒られるし、敷居高すぎだろ・・・
0464デフォルトの名無しさん
2011/11/28(月) 11:54:40.750465デフォルトの名無しさん
2011/11/28(月) 18:03:29.340466デフォルトの名無しさん
2011/11/28(月) 19:24:14.09optlinkが出たんじゃどうしようもねぇな…
0467デフォルトの名無しさん
2011/11/28(月) 19:57:32.550468デフォルトの名無しさん
2011/11/28(月) 23:37:09.23どうしてPATHの確認とかしないの?
0469デフォルトの名無しさん
2011/11/29(火) 20:40:11.272.056に変えたら一気に2289kbになった Dってこういうものなんかー
0470デフォルトの名無しさん
2011/11/29(火) 21:30:38.880471デフォルトの名無しさん
2011/11/29(火) 23:24:49.360472デフォルトの名無しさん
2011/11/30(水) 06:25:24.800473デフォルトの名無しさん
2011/11/30(水) 20:08:56.010474デフォルトの名無しさん
2011/12/02(金) 00:05:47.090475デフォルトの名無しさん
2011/12/02(金) 00:15:39.020476デフォルトの名無しさん
2011/12/02(金) 12:05:55.540477デフォルトの名無しさん
2011/12/02(金) 13:26:36.94std.windows.registory の *W 関数への対応
これがあやしい
>>476
機能ごとに分割してくれと散々言われてるけど押し切れないらしい
0478デフォルトの名無しさん
2011/12/02(金) 17:10:14.090479デフォルトの名無しさん
2011/12/02(金) 19:33:06.42文字列にすることになんかメリットあんの?
0480デフォルトの名無しさん
2011/12/02(金) 19:48:52.220481デフォルトの名無しさん
2011/12/02(金) 20:48:23.640482デフォルトの名無しさん
2011/12/02(金) 21:17:42.800483デフォルトの名無しさん
2011/12/02(金) 21:56:13.780484デフォルトの名無しさん
2011/12/02(金) 22:28:29.75IDEがそれを使えるんじゃね?
0485デフォルトの名無しさん
2011/12/02(金) 23:12:32.09alias 切るくらいすればいいのに
0486デフォルトの名無しさん
2011/12/02(金) 23:17:37.95200Mほどnewしたらハングするんだけど。
0487デフォルトの名無しさん
2011/12/02(金) 23:38:13.040488デフォルトの名無しさん
2011/12/02(金) 23:41:18.62http://ideone.com/M6sbF
0489デフォルトの名無しさん
2011/12/02(金) 23:47:19.09目を覚ませ ペシペシ
0490デフォルトの名無しさん
2011/12/03(土) 00:49:47.07ワロタ
0491デフォルトの名無しさん
2011/12/03(土) 01:02:51.70・・・・あれ?!
0492デフォルトの名無しさん
2011/12/03(土) 13:23:34.080493デフォルトの名無しさん
2011/12/03(土) 14:25:26.53全部個別で比較してんのかw
0494デフォルトの名無しさん
2011/12/03(土) 15:01:09.130495デフォルトの名無しさん
2011/12/03(土) 15:26:55.25とか書くなよ!絶対書くなよ!
0496デフォルトの名無しさん
2011/12/03(土) 15:36:22.04くらえ!
mixin(import("case_range_bomb"));
0497デフォルトの名無しさん
2011/12/03(土) 15:45:52.77弾かれるけどな
Error: had 18446744073709551615 cases which is more than 256 cases in case range
0498デフォルトの名無しさん
2011/12/03(土) 16:42:33.220499デフォルトの名無しさん
2011/12/04(日) 15:56:14.95気になったんだけど@propertyって今後無印の関数を()無しで呼び出せなくなるフラグ?
0500デフォルトの名無しさん
2011/12/04(日) 18:33:57.170501デフォルトの名無しさん
2011/12/04(日) 19:41:32.73https://github.com/D-Programming-Language/phobos/pull/342
ためしてみるといいよ。
0502デフォルトの名無しさん
2011/12/04(日) 20:50:08.62ざっと斜め読みしてたら吹き出した
0503デフォルトの名無しさん
2011/12/05(月) 01:02:11.630504デフォルトの名無しさん
2011/12/05(月) 01:21:26.570505デフォルトの名無しさん
2011/12/05(月) 12:41:15.800506デフォルトの名無しさん
2011/12/05(月) 19:24:34.67でもなんというかぞっとしないな
0507デフォルトの名無しさん
2011/12/05(月) 20:45:45.990508デフォルトの名無しさん
2011/12/05(月) 20:56:53.14意味がちがう。
0509デフォルトの名無しさん
2011/12/05(月) 21:01:53.15Dは普通にぞっとさせてくるし
0510デフォルトの名無しさん
2011/12/05(月) 21:05:18.09まあ、否定形なのに対称をなしてないからわかりにくいのは確かだけど。
0511デフォルトの名無しさん
2011/12/05(月) 21:08:00.310512デフォルトの名無しさん
2011/12/05(月) 21:14:49.68英語でもgoose bumps, chill, terrible/terrificが寒さ・恐怖・興奮の多義語だし
日本語の歴史中でも中世の「すごし」が寒いと嫌悪と興奮の多義語。
ぞっとする、ぞくっとするも同じカテゴリだわな
0513デフォルトの名無しさん
2011/12/05(月) 22:40:30.110514デフォルトの名無しさん
2011/12/06(火) 01:37:48.78なにしとん
0515デフォルトの名無しさん
2011/12/06(火) 08:06:47.61日本語 Part28
みたいだな。
0516デフォルトの名無しさん
2011/12/07(水) 12:36:55.85おまいら、俺だけのけ者にしてこっそりニュースブログ見てたな
ぜったいにゆるさない!
0517デフォルトの名無しさん
2011/12/07(水) 13:53:05.52・・・まあ気休め程度かな
0518デフォルトの名無しさん
2011/12/07(水) 20:30:41.92本当に200KB -> 1MBになったwww
ぱねぇwww
0519デフォルトの名無しさん
2011/12/07(水) 22:50:37.710520デフォルトの名無しさん
2011/12/07(水) 22:54:21.470521デフォルトの名無しさん
2011/12/07(水) 22:58:44.08void main() { write("Hello World.\n"); }
2.056で HelloWorld は1.04MB
0522デフォルトの名無しさん
2011/12/07(水) 23:00:04.350523デフォルトの名無しさん
2011/12/07(水) 23:22:53.25% 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くらい?
0524デフォルトの名無しさん
2011/12/07(水) 23:24:46.370525デフォルトの名無しさん
2011/12/07(水) 23:37:22.61void main() { printf("Hello World.\n"); }
2.056でこれだと 154kB
phobosはかさばるなぁ
0526デフォルトの名無しさん
2011/12/07(水) 23:41:27.650527デフォルトの名無しさん
2011/12/08(木) 19:14:20.570528デフォルトの名無しさん
2011/12/08(木) 19:34:39.63薄いテンプレートイディオムで書き直せば改善されたりしないかな。
std.datetime のコード量もカオスだし・・・。
0529デフォルトの名無しさん
2011/12/08(木) 20:24:11.81少し前のレス読むと2.055→2.056で急に増えたっぽい
何があったんだろう
0530デフォルトの名無しさん
2011/12/09(金) 01:11:10.66Dは飽きさせないな
0531デフォルトの名無しさん
2011/12/10(土) 14:15:42.162.054 -> 2.055 で std.uniに巨大なテーブルが追加されている。
おそらくwritelnがこれを取り込むのでexeサイズが大きくなっている
0532デフォルトの名無しさん
2011/12/10(土) 14:17:27.77^^;
0533デフォルトの名無しさん
2011/12/10(土) 19:42:10.710534デフォルトの名無しさん
2011/12/12(月) 03:16:48.170535デフォルトの名無しさん
2011/12/14(水) 17:33:32.460536デフォルトの名無しさん
2011/12/14(水) 18:38:15.43http://dusers.dip.jp/modules/forum/index.php?topic_id=108
0537デフォルトの名無しさん
2011/12/14(水) 18:55:11.510538デフォルトの名無しさん
2011/12/14(水) 18:55:22.430539デフォルトの名無しさん
2011/12/14(水) 18:56:20.11列挙子initをint.initで定義してるだけだな
まあ確かにできるけどw
0540デフォルトの名無しさん
2011/12/14(水) 19:14:56.85どうせならenumの全メンバをforeachで回させてくんないかな
valuesみたいなプロパティがあればいいんだが
0541デフォルトの名無しさん
2011/12/14(水) 19:25:57.64std.traitsにEnumMembersがある
0542デフォルトの名無しさん
2011/12/14(水) 19:42:50.78そんなのがあったのか
thx
0543デフォルトの名無しさん
2011/12/14(水) 20:51:37.93Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaahhhhhhhhhhhhhhh!!!!!!
0544デフォルトの名無しさん
2011/12/14(水) 21:07:19.340545デフォルトの名無しさん
2011/12/14(水) 23:21:15.01New Features Approved For Fedora 17
D2 programming language support.
0546デフォルトの名無しさん
2011/12/15(木) 00:41:43.740547デフォルトの名無しさん
2011/12/15(木) 01:31:58.130548デフォルトの名無しさん
2011/12/15(木) 02:44:08.620549デフォルトの名無しさん
2011/12/15(木) 02:44:36.080550デフォルトの名無しさん
2011/12/15(木) 02:56:21.670551デフォルトの名無しさん
2011/12/15(木) 07:10:08.790552デフォルトの名無しさん
2011/12/15(木) 11:45:55.95モジュールとしてはすでにdeprecated, 置き換え先はcore.bitop
Documentからリンクが消えたのは、たぶん間違えて消しちゃったんじゃないかな
0553デフォルトの名無しさん
2011/12/15(木) 13:02:33.06thx
0554デフォルトの名無しさん
2011/12/17(土) 18:12:09.440555デフォルトの名無しさん
2011/12/17(土) 21:13:17.440556デフォルトの名無しさん
2011/12/17(土) 21:22:17.91かな、普通に考えると
0557デフォルトの名無しさん
2011/12/17(土) 21:42:50.13int[] func() {
int[] values;
// ...
return uniq(values);
}
uniqの戻り値って配列じゃないんだよな
というかrange絡みの関数は全体的にそんな感じだ
どうすればいいのやら
0558デフォルトの名無しさん
2011/12/17(土) 22:53:09.06return values;
0559デフォルトの名無しさん
2011/12/17(土) 23:18:30.310560デフォルトの名無しさん
2011/12/17(土) 23:58:46.010561デフォルトの名無しさん
2011/12/18(日) 00:35:09.070562デフォルトの名無しさん
2011/12/19(月) 00:13:18.380563デフォルトの名無しさん
2011/12/19(月) 00:15:53.630564デフォルトの名無しさん
2011/12/19(月) 02:38:12.300565デフォルトの名無しさん
2011/12/19(月) 03:05:58.780566デフォルトの名無しさん
2011/12/19(月) 22:25:57.350567デフォルトの名無しさん
2011/12/19(月) 23:39:33.94ttp://ideone.com/WULc0
0568デフォルトの名無しさん
2011/12/20(火) 00:19:15.320569デフォルトの名無しさん
2011/12/20(火) 01:14:34.46おてんとうさまがゆるしても
おれがゆるさねぇ
0570デフォルトの名無しさん
2011/12/20(火) 02:48:56.130571デフォルトの名無しさん
2011/12/20(火) 15:58:11.56ある意味正しい。
> hoge["fuga"] = hoge.length
左辺の評価でまずkey="fuga"のエントリが確保され、この時点でhoge.length==1になる
その後確保されたエントリにhoge.lengthの評価結果(==1)が設定される。
*(p++) = *(p++)とかと同じようなもの
0572デフォルトの名無しさん
2011/12/20(火) 16:02:41.35GC関連の関数を内部で直接呼んでいるため。
言語としてはnew式はpure扱いだが、ランタイムのGC関数がpureであるべきかは
newsgroup上の議論でも明確な結論が出てなかったと思う。
0573デフォルトの名無しさん
2011/12/20(火) 16:04:05.33直交している。Appenderがpureでない理由は>>572の通り。
0574デフォルトの名無しさん
2011/12/20(火) 20:20:35.80なるほど納得した
0575デフォルトの名無しさん
2011/12/21(水) 00:17:01.320576デフォルトの名無しさん
2011/12/21(水) 00:40:50.280577デフォルトの名無しさん
2011/12/21(水) 00:43:41.690578デフォルトの名無しさん
2011/12/21(水) 01:27:27.23こんなオーバーロードないんだっけ?
0579デフォルトの名無しさん
2011/12/21(水) 01:36:45.52assert(笑);
0580デフォルトの名無しさん
2011/12/21(水) 01:50:49.40STLのコンテナでfront()とpop()が分かれてる理由系の話だね
http://ideone.com/rBvF3
0581デフォルトの名無しさん
2011/12/21(水) 17:13:59.45CTFEできる範囲って仕様で明確化されてるの?
仕様に沿ったコンパイラでCEFEのせいで
コンパイルできる事とできない事があるってのはとても困る気がする
0582デフォルトの名無しさん
2011/12/21(水) 17:17:28.83今@pure付けられる範囲をどんどん広くしていってる気がする
0583デフォルトの名無しさん
2011/12/22(木) 02:24:56.040584デフォルトの名無しさん
2011/12/22(木) 13:21:42.68わざわざ「Cに代わる低級言語」を持ち出す必要はない
一方で、本当にC言語に取って代わろうとするなら、
高級言語を持ち出せない、プアな環境で使えないといけない
・ポインタ演算は手放せない
・GCは使えない
・ポリモーフィズムも使えない
・テンプレートも容量を食い過ぎる
・正規表現を実行時にコンパイルするのは贅沢すぎる
・標準ライブラリーが充実させても意味が無い
・標準でないアーキテクチャをサポートしなければならない
それなら、C言語で十分じゃない?
文字列型?ハッシュマップ?サードパーティ製のを使えばいい
ドキュメント自動生成なら、言語仕様を変更しなくても、Pythonとかでツールを作ればいい
Cのシンタックスがキモいとか、Lisp風マクロとかが欲しいと言うのなら、
JavaScriptに対するCoffeeScriptみたいな物を作ればいい
0585デフォルトの名無しさん
2011/12/22(木) 13:26:14.290586デフォルトの名無しさん
2011/12/22(木) 14:35:57.36かつて売りにしてた機能まで潰しまくる迷走ぶりについては認める
0587デフォルトの名無しさん
2011/12/22(木) 14:56:03.700588デフォルトの名無しさん
2011/12/22(木) 16:41:48.270589デフォルトの名無しさん
2011/12/22(木) 22:25:33.38あの超シンプルに型を作れるところが気に入ってたんだけど
0590デフォルトの名無しさん
2011/12/22(木) 23:06:14.500591デフォルトの名無しさん
2011/12/23(金) 09:28:03.360592デフォルトの名無しさん
2011/12/23(金) 10:52:52.35もうちっと機能を狭めてもいい
0593デフォルトの名無しさん
2011/12/23(金) 11:15:18.32そんなんじゃ「そうじゃねーよ俺は便利に使ってんだよ」と反論できちまう
せめて「typedefあるとコンパイラの実装が超大変になるんだよ、わかれよ」くらい言ってほしい
0594デフォルトの名無しさん
2011/12/23(金) 11:43:45.05t f(t, t)って関数があってtからuを新たに作ったときに、t f(u, t)として使えるのが正しいのか
t f(u, u)が正しいのかu f(u, u)が正しいのか。
0595デフォルトの名無しさん
2011/12/23(金) 12:11:48.42複素数をビルトイン型にしなくてもいいような気もする
(パフォーマンス的には分からんが)
0596デフォルトの名無しさん
2011/12/23(金) 12:14:25.88やっと納得した
uがどこまでtか微妙なのが仕様的に面倒なのね
あれ、でもenum…
0597デフォルトの名無しさん
2011/12/23(金) 12:56:34.72複素数がライブラリに移動したときにその話はあった
結論から言うとcomplex型とimaginary型を併用することでパフォーマンス的にも問題なく解消する
ただし記述が面倒だからユーザー定義リテラルが必須
0598デフォルトの名無しさん
2011/12/23(金) 19:54:02.30ユーザー定義リテラルを入れなくても、複素数リテラルがあれば、複素数についてのパフォーマンスは元々解決されていたんでしょう。
なくす必要性がまだ見えないんだよね
0599デフォルトの名無しさん
2011/12/23(金) 20:07:50.18ライブラリの存在を前提としたシンタックスシュガー化するということかと。
Dならstring→immutable char[]が似ているし、
C#のstringはSystem.Stringの別名だ(と思う)し。
0600デフォルトの名無しさん
2011/12/23(金) 20:17:25.540601デフォルトの名無しさん
2011/12/23(金) 20:19:04.64gccはバイナリ互換性を持たせるために、「コイツは内部的に複素数だ」ってpragma用意してるよね。
Dの複素数もC99の複素数とバイナリ互換性を持ってるはずだが、ライブラリ版はどうなってるんだろう。
0602デフォルトの名無しさん
2011/12/24(土) 03:55:23.75そうするのはなぜだか知ってますか?
ユーザー定義リテラルを導入するならば複素数だけ優遇する必要がないから?
0603デフォルトの名無しさん
2011/12/25(日) 04:15:55.26octだったかな
0604デフォルトの名無しさん
2011/12/25(日) 12:14:29.54こっちに移るんかな
0605デフォルトの名無しさん
2011/12/25(日) 17:11:57.580606デフォルトの名無しさん
2011/12/26(月) 01:33:27.780607デフォルトの名無しさん
2011/12/26(月) 07:19:58.600608デフォルトの名無しさん
2011/12/26(月) 20:31:46.19const(char)[]:中身を書き換えられない配列
const(char[]):?? Cのchar a const[] ?? いやそれじゃchar a[]と同じか
0609デフォルトの名無しさん
2011/12/26(月) 23:07:10.07a = b;
が出来ないんじゃなかった?
0610デフォルトの名無しさん
2011/12/26(月) 23:17:27.560611デフォルトの名無しさん
2011/12/27(火) 02:56:23.390612デフォルトの名無しさん
2011/12/27(火) 08:42:56.370613デフォルトの名無しさん
2011/12/27(火) 11:50:14.46俺もD言語に全く興味ないのに覗いてるしな
0614デフォルトの名無しさん
2011/12/27(火) 12:05:34.600615デフォルトの名無しさん
2011/12/27(火) 13:37:36.630616デフォルトの名無しさん
2011/12/27(火) 21:03:32.310617デフォルトの名無しさん
2011/12/27(火) 21:08:22.82まだまだ若者には負けんよ
0618デフォルトの名無しさん
2011/12/27(火) 21:21:05.990619デフォルトの名無しさん
2011/12/27(火) 21:22:04.160620デフォルトの名無しさん
2011/12/27(火) 21:23:30.800621デフォルトの名無しさん
2011/12/27(火) 21:47:40.010622デフォルトの名無しさん
2011/12/28(水) 10:39:17.880623デフォルトの名無しさん
2011/12/28(水) 13:05:42.51void main() { writeln("hello, world."); }
↑に -O -relese -inline 付けて
933404byte=911.5kbyteだった
0624デフォルトの名無しさん
2011/12/28(水) 14:06:17.810625デフォルトの名無しさん
2011/12/28(水) 15:43:07.332.058から220KBに減るよ
0626デフォルトの名無しさん
2011/12/28(水) 15:50:05.250627デフォルトの名無しさん
2011/12/28(水) 15:58:44.05リリース直後にそういう話が出てたから対応済みかと思ってたわ
2.057 に移行する意欲が減退・・・冬眠でもするか
0628デフォルトの名無しさん
2011/12/28(水) 16:43:49.87配布するにしても7zとか使えば誤差みたいなもんだと思うんだけどなあ
0629デフォルトの名無しさん
2011/12/28(水) 17:50:25.84MyClassName instance = new MyClassName();
の冗長性が許せるかとか
そういうレベルの話だと思う。
気にする人もいればそうでない人もいる。
0630デフォルトの名無しさん
2011/12/28(水) 17:52:43.48まあそういうのはDなんか使わないでスクリプト言語でも使ってろって話なんだけど
0631デフォルトの名無しさん
2011/12/28(水) 18:46:43.46大した機能もないのに1MBだと、何か仕込んでるじゃないと勘ぐられそうでw
0632デフォルトの名無しさん
2011/12/28(水) 23:04:03.41こっちはこっちで抵抗あるとは思うが、いちおう。
しかし900kbってなんかDelphiを思わせるサイズだ。
Dってアルファベットになんか呪いでもあるのかとw
0633デフォルトの名無しさん
2011/12/28(水) 23:13:50.500634デフォルトの名無しさん
2011/12/28(水) 23:19:14.70でも、実際にはOSのシステムファイルと共通してる部分が多いから、実際にはそんなにサイズは食ってないんです。
0635デフォルトの名無しさん
2011/12/28(水) 23:41:09.33ゼロパディングされてるわけでもあるまいし
0636デフォルトの名無しさん
2011/12/28(水) 23:41:48.930637デフォルトの名無しさん
2011/12/28(水) 23:43:30.610638デフォルトの名無しさん
2011/12/29(木) 09:47:22.630639デフォルトの名無しさん
2011/12/29(木) 12:49:18.74ファイルサイズくらいどうってことないよ
0640デフォルトの名無しさん
2011/12/29(木) 15:14:24.01学生プログラマ日本一決定戦(予選は社会人も参加可)
ttp://codevs.jp/howto.html
現在予選開催中
応募締切 2012.1.6 12:00
おもしろいことやっているじゃん。誰か今から参加しろよ。
0641デフォルトの名無しさん
2011/12/29(木) 17:12:06.58盛り上がってないからって
あちこちで宣伝すんなよ
0642デフォルトの名無しさん
2011/12/29(木) 19:03:34.97バイナリエディタでexe見てみたら、ゼロばかり並んでるw
0643デフォルトの名無しさん
2011/12/29(木) 20:32:50.15http://codevs.jp/rule.html
0644デフォルトの名無しさん
2011/12/29(木) 20:40:47.220645デフォルトの名無しさん
2011/12/29(木) 22:13:18.43大規模プログラミングでこれは使えないだろうとは思った。
0646デフォルトの名無しさん
2011/12/30(金) 12:35:56.700647デフォルトの名無しさん
2011/12/30(金) 13:45:55.76端々で以前と違う挙動をしてアプリをバグらせてくれる
これはいいものだ
0648デフォルトの名無しさん
2011/12/30(金) 13:54:14.690649デフォルトの名無しさん
2011/12/30(金) 17:31:39.90import 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で属性がエスケープされないって話があって、確か直ったはずなんだけど
どうして戻ってるの…
0650デフォルトの名無しさん
2011/12/30(金) 18:11:03.140651デフォルトの名無しさん
2011/12/30(金) 18:21:06.270652デフォルトの名無しさん
2011/12/30(金) 19:21:53.92無くなるのはいいけどいつまで経っても無くならないなぁ
代替手段ができるまではちゃんとメンテしてほしす
0653デフォルトの名無しさん
2011/12/30(金) 21:13:57.83Cはプリミティブ型のバイト数決まってないから無理
0654デフォルトの名無しさん
2011/12/30(金) 21:54:49.34だからこそdmcの型と対応するaliasが欲しいって話じゃね?
0655デフォルトの名無しさん
2011/12/31(土) 01:31:26.590656デフォルトの名無しさん
2011/12/31(土) 01:55:24.04intptr_tはあるけどな
0657デフォルトの名無しさん
2011/12/31(土) 08:00:29.16他のライブラリポーティングするにしても大抵Uint8とかGLintみたいにそのライブラリ固有で型定義してるし
0658デフォルトの名無しさん
2011/12/31(土) 08:35:48.82D語に訳すにはどうすればいいんでしょうか
0659デフォルトの名無しさん
2011/12/31(土) 09:26:42.030660デフォルトの名無しさん
2011/12/31(土) 15:51:22.550661デフォルトの名無しさん
2011/12/31(土) 16:02:11.710662デフォルトの名無しさん
2011/12/31(土) 16:30:12.61こんな感じで
0663デフォルトの名無しさん
2011/12/31(土) 20:10:52.35typedefに戻すメリットもたいしたものないし
0664デフォルトの名無しさん
2011/12/31(土) 21:16:57.340665デフォルトの名無しさん
2011/12/31(土) 21:18:15.30アンドレイ「いいこと考えた。1行で完全に新しい型を定義できる機能とか新しくね?」
ウォルたん「いいね!なぜかtypedefってキーワードが空いてるからそれ使おう」
ってなるよ
0666デフォルトの名無しさん
2011/12/31(土) 21:38:40.280667デフォルトの名無しさん
2011/12/31(土) 21:55:14.940668デフォルトの名無しさん
2011/12/31(土) 23:28:12.640669デフォルトの名無しさん
2012/01/01(日) 01:23:56.490670デフォルトの名無しさん
2012/01/01(日) 04:42:41.230671デフォルトの名無しさん
2012/01/01(日) 09:48:04.67そろそろD言語も元年を標榜してみる?
0672デフォルトの名無しさん
2012/01/01(日) 20:42:49.910673デフォルトの名無しさん
2012/01/01(日) 21:34:04.83int 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;
}
これってそういう仕様なの?
0674デフォルトの名無しさん
2012/01/02(月) 05:53:20.190675デフォルトの名無しさん
2012/01/02(月) 10:10:17.53関数の返り値はrefにできる。
変数自体には指定できないけど、ポインタやクラスで代替可能。
0676デフォルトの名無しさん
2012/01/02(月) 10:50:07.970677デフォルトの名無しさん
2012/01/02(月) 11:24:20.970678デフォルトの名無しさん
2012/01/02(月) 14:35:37.560679デフォルトの名無しさん
2012/01/02(月) 18:08:52.92https://github.com/D-Programming-Language/dmd/pull/279
パッチを出したがまだマージされていない
0680デフォルトの名無しさん
2012/01/02(月) 18:17:05.66ざっとstd.xmlのコード見てみたが、
> e.tag.attr["attr"] = `"quot"`; // '"'入りの文字列
はTagクラスのpublicなattrフィールド(連想配列)に直接値を設定しているから、
encode/decodeとか何も動かない。
つまりそんな機能は元から無い様に見える。
0681デフォルトの名無しさん
2012/01/02(月) 19:20:56.52decodeじゃなくて、encodeにすべきなんじゃないのか?
0682デフォルトの名無しさん
2012/01/02(月) 20:03:47.76ああ、そっち(出力)の方か。確かにそこをencodeにすると、
outputがエンコードされるようになるな。
誰かbugzillaにレポート投げてくれればfixされるかも。
0683デフォルトの名無しさん
2012/01/02(月) 22:54:27.85やっぱバグなのね。ありがと
つまり次のバージョンでもう半分の-property地獄を体験することになるわけだな
これだからDはやめらんねぇ!
0684デフォルトの名無しさん
2012/01/03(火) 00:42:58.19× if (content == "-" || content.indexOf("==") != -1)
○ if (content == "-" || content.indexOf("--") != -1)
0685デフォルトの名無しさん
2012/01/03(火) 05:59:45.30やっぱ消えると分かっていてもメンテしてくれないと困るな
0686デフォルトの名無しさん
2012/01/03(火) 06:00:41.720687デフォルトの名無しさん
2012/01/03(火) 14:21:43.58事前条件有りで事後条件書くとコンパイル通って動くんだけど、なんか理由があるのかな?
0688デフォルトの名無しさん
2012/01/03(火) 21:12:23.26手元で試したら全部通ったけど、どんなコード書いたの?
0689デフォルトの名無しさん
2012/01/03(火) 22:31:29.87void main()
{
string foo()
//in
//{
//}
out (result)
{
assert(result.length == 0);
}
body
{
return null;
}
}
__EOF__
このままコンパイルしようとすると構文エラーで通らない。コメントアウトすると通る。
ちなみにコンパイラはDMD64(v2.057)をUbuntu向けパッケージからインストールしたもの。
0690デフォルトの名無しさん
2012/01/03(火) 22:35:18.75d.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
0691デフォルトの名無しさん
2012/01/03(火) 23:08:59.740692デフォルトの名無しさん
2012/01/04(水) 00:21:59.25パーザーの問題。DMDのパーザーは手書きだからこういう抜けが未だにある。
in/outなしでbodyだけ付けるのも同じようにrejectされるな。
原因は判ったのでパッチを書いておくが、bugzillaはどうする?
自分で投げてみるいいチャンスかも。
0693デフォルトの名無しさん
2012/01/04(水) 00:32:34.95void 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
}
0694デフォルトの名無しさん
2012/01/04(水) 03:41:31.250695デフォルトの名無しさん
2012/01/04(水) 03:42:00.710696デフォルトの名無しさん
2012/01/04(水) 09:52:43.56仮引数の省略は不可。
一応、可変個引数で似たようなことは出来るが、余計めんどくさい・・・
>>695
デフォルト引数が設定されている引数については省略可。
0697デフォルトの名無しさん
2012/01/04(水) 12:15:29.910698デフォルトの名無しさん
2012/01/04(水) 13:06:37.840699デフォルトの名無しさん
2012/01/04(水) 13:13:57.12こういうのが書ければいいってことでしょ
0700デフォルトの名無しさん
2012/01/04(水) 13:17:33.72クラスや構造体の参照を簡略化したいなら、with文を使うのもあり。
型名を書くのを省略したいという事なら、残念ながらDでは出来ません。
関数オブジェクトを簡単に作りたいなら、関数リテラルを使えばおk。
型が違うだけで、処理の内容が同じ関数を書くのが嫌という話なら、テンプレートを使えばおk
0701デフォルトの名無しさん
2012/01/04(水) 13:36:24.87void foo(int, long){ ... }
みたいに、通常の関数で型だけを書いて仮引数名を省略することは可能。
これはC言語系列のsyntaxを受け継いでいる。
>>699
2.058からは関数リテラルで仮引数名の省略は出来なくなる。なぜなら
関数リテラルのパラメータ型推論・funciton/delegate推論が入ったため、
(a, b){ doSomethig(); }
で、a,bが型名か仮引数名かパース時点では判明しないため。
→2.057までは型名として、2.058以降は仮引数名として扱われるようになる
>>700
上に書いたとおり、関数リテラル限定で型名を書くのを省略できるようになる。
0702デフォルトの名無しさん
2012/01/04(水) 14:02:36.29なんで通るんだろうと思いつつ。
で、どうやって引数の値にアクセスするのよ?
http://ideone.com/6NLyf
誰だ、型名省略できるって言ったやつ。
まあ、戻り値の型は省略できるけどね。
http://ideone.com/AXEQu
0703デフォルトの名無しさん
2012/01/04(水) 14:49:02.14上:コールバック関数やデリゲートに渡すやつで
「関数の型(引数リスト)が決められているけど
引数は結局使われない」というケース。>>699 はその例
下:2.058(次期リリース)以降の話。
0704デフォルトの名無しさん
2012/01/04(水) 15:44:02.20C言語やってないだろ!引数を参照しないとコンパイル時に警告でるからそれ対策で型名だけにするってよくやるよ
0705デフォルトの名無しさん
2012/01/04(水) 23:44:58.41そうそれが知りたかった
0706デフォルトの名無しさん
2012/01/05(木) 01:32:26.19issueとパッチのPullRequestを出しておきました。
http://d.puremagic.com/issues/show_bug.cgi?id=7218
https://github.com/D-Programming-Language/dmd/pull/608
0707デフォルトの名無しさん
2012/01/05(木) 09:25:27.92しらねーよ!悪かったな!
0708デフォルトの名無しさん
2012/01/05(木) 17:24:31.05マージされた
https://github.com/D-Programming-Language/dmd/commit/4d93bbf53cba3eb19733d2e5cd209b67034f2d10
0709デフォルトの名無しさん
2012/01/05(木) 19:10:11.82どうなってんだ
0710デフォルトの名無しさん
2012/01/05(木) 23:12:29.930711デフォルトの名無しさん
2012/01/05(木) 23:23:18.360712デフォルトの名無しさん
2012/01/05(木) 23:29:57.36もう駄目かな…
0713デフォルトの名無しさん
2012/01/05(木) 23:45:00.75・PullRequestも最低1つぐらいは一日にマージされる
・Parser関係のfixは理解しやすい&影響範囲も限られる
→変更の規模としては小さい部類なので比較的早くにマージされる
まあ、パッチの規模がでかいと逆に半年ぐらい放置状態になるんだけど。
0714デフォルトの名無しさん
2012/01/06(金) 06:30:57.53根強いファンが絶えないのも頷けるなw
0715デフォルトの名無しさん
2012/01/08(日) 14:40:44.350716デフォルトの名無しさん
2012/01/08(日) 18:03:48.52移行してマシになるの?
0717デフォルトの名無しさん
2012/01/08(日) 20:18:31.68オフィシャルへの反映が遅い…
0718デフォルトの名無しさん
2012/01/08(日) 23:41:55.28それに命令や操作をする人間は進化するどころか文化や人格を決め付けや思い込みで否定する争いを始めた
0719デフォルトの名無しさん
2012/01/09(月) 01:26:59.130720デフォルトの名無しさん
2012/01/09(月) 02:04:44.28std.randomのuniformのboundariesを指定したいときはどうすればよいのでしょうか。
0721デフォルトの名無しさん
2012/01/09(月) 02:12:35.950722デフォルトの名無しさん
2012/01/09(月) 09:33:38.410723デフォルトの名無しさん
2012/01/09(月) 10:53:52.75ありがとうございました。
0724デフォルトの名無しさん
2012/01/09(月) 11:27:03.86http://www.d-gcr.com/
0725デフォルトの名無しさん
2012/01/09(月) 16:41:13.840726デフォルトの名無しさん
2012/01/09(月) 17:06:04.890727デフォルトの名無しさん
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 );
}
こんな感じなのですが、上手く渡せません。
すいません。よろしくお願いします。
0728デフォルトの名無しさん
2012/01/10(火) 10:15:31.56...
real* foo = va_arg!( real* )( _argptr );
...
phobos のソースを _argptr でgrepした (w
0729デフォルトの名無しさん
2012/01/11(水) 02:01:31.340730デフォルトの名無しさん
2012/01/11(水) 11:51:42.81http://ideone.com/j4fL9
でも、もっといいのは、可変個引数関数を使うのではなくて、テンプレートのタプルを使う方法。
http://ideone.com/oNAbZ
もっと言うなら、ポインタを渡さずに、ref引数や、参照型のクラスを使う方が安全。
0731デフォルトの名無しさん
2012/01/11(水) 15:05:14.13ってなんぞ?
0732デフォルトの名無しさん
2012/01/11(水) 16:45:47.49配列を返す関数を呼んでその戻り値に直接[]で添え字指定してたのが問題のようですた
0733デフォルトの名無しさん
2012/01/11(水) 17:38:51.290734デフォルトの名無しさん
2012/01/11(水) 19:39:44.490735デフォルトの名無しさん
2012/01/11(水) 20:26:50.36あとVisualDがインテリセンス的なもの載せてさらに凄くなってやがる
0736デフォルトの名無しさん
2012/01/12(木) 01:00:24.650737デフォルトの名無しさん
2012/01/12(木) 01:11:09.310738デフォルトの名無しさん
2012/01/12(木) 20:10:17.09なければ自分で作るのでいいんですが、一応……。
0739デフォルトの名無しさん
2012/01/12(木) 20:58:39.02個人的には配列が強力すぎて必要性を感じない
0740デフォルトの名無しさん
2012/01/15(日) 11:28:39.23return 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
って怒られる
0741デフォルトの名無しさん
2012/01/15(日) 12:09:07.55のほうは実は
foo([1,1,1,1,1,1]);
でも呼び出せる。
2番目のもこれだと解釈されてる
0742デフォルトの名無しさん
2012/01/15(日) 12:09:27.16bool 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が何であるか教えてやらないといけない。
0743デフォルトの名無しさん
2012/01/15(日) 13:03:58.75Tをちゃんと指定しないといけないんですね。
ありがとうございました。
0744デフォルトの名無しさん
2012/01/15(日) 13:07:31.140745デフォルトの名無しさん
2012/01/19(木) 12:38:20.34が通らないんですけどどうすればいいんでしょう
ちょっとgcから切り離されたstringが欲しかっただけなんですけど
0746デフォルトの名無しさん
2012/01/19(木) 14:28:21.70malloc/freeを直接つかうとか
0747デフォルトの名無しさん
2012/01/19(木) 19:07:59.01void main() {
int[] arr;
arr.push = 42;
}
UFCSとか見てて、どうせだからこういうことしたくなるけど
さすがに無茶だよなぁ
0748デフォルトの名無しさん
2012/01/19(木) 19:11:08.92Array!(dchar) にしないとだめみたいだな
いいんだか、悪いんだか
0749デフォルトの名無しさん
2012/01/19(木) 19:41:50.36後でソース読むときが大変だと思う
0750デフォルトの名無しさん
2012/01/19(木) 20:35:15.76RTTIからGUID取れるようにしてObjectのQIだけですべてのパターンに対応できる感じで
まあDelphiのパクリなんだけど
ちなみにこんな感じでできたら最高
http://ideone.com/GspW0
0751デフォルトの名無しさん
2012/01/20(金) 04:40:49.62ソース見るまで気づかなかった
0752デフォルトの名無しさん
2012/01/20(金) 08:25:24.26T to(T:string)(){
return "";
}
}
toStringより特殊化の方がいいってこと?
0753デフォルトの名無しさん
2012/01/20(金) 10:53:58.40T to(T)() if (is(T == string)) {
のほうだな
0754デフォルトの名無しさん
2012/01/20(金) 11:09:13.49http://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.
0755デフォルトの名無しさん
2012/01/20(金) 11:42:27.25toString は一方通行のイメージ
0756デフォルトの名無しさん
2012/01/20(金) 23:04:37.08foreachを展開してmixinしかないかな
こんな感じにしたい
int abc, def;
foreach(s; ["abc", "def"])
writeln(mixin(s));
0757デフォルトの名無しさん
2012/01/21(土) 00:59:55.47今CTFEでループさせるなら再帰しか無いけどstatic foreachって入る予定あるの?
0758デフォルトの名無しさん
2012/01/21(土) 01:55:05.17こういう事じゃないんだろうな、と思いつつ。
http://ideone.com/iZWxL
0759デフォルトの名無しさん
2012/01/21(土) 02:14:38.17foreachをコンパイル時に回す(=展開する)なら、
配列ではなくタプルを渡すとうまく行く
import std.traits;
foreach(s;TypeTuple!("abc","def"))
writeln(mixin(s));
0760デフォルトの名無しさん
2012/01/21(土) 02:25:29.44型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()が優先される。
0761デフォルトの名無しさん
2012/01/21(土) 02:51:27.28聞いてみるもんだなありがとう!
>>759がまんまだったよ
でもstd.traitsじゃなくてstd.typetupleだった
0762デフォルトの名無しさん
2012/01/21(土) 02:56:10.51http://ideone.com/dUPb6
0763デフォルトの名無しさん
2012/01/21(土) 07:35:04.36おおすばらしい
この辺いつか文法的に整理されると信じてる
0764デフォルトの名無しさん
2012/01/21(土) 11:52:28.16正直言ってTypeTupleという名前は混乱の元だと思ってる。
(型だけではなく式やシンボルも受け取れるので)
Seq!(...)より抽象的でいいと思うんだけどなあ
0765デフォルトの名無しさん
2012/01/21(土) 22:38:12.570766デフォルトの名無しさん
2012/01/21(土) 22:54:46.750767デフォルトの名無しさん
2012/01/22(日) 00:04:41.280768デフォルトの名無しさん
2012/01/22(日) 00:45:12.660769デフォルトの名無しさん
2012/01/22(日) 14:33:09.60cap.length == 0 と cap.empty の結果が違うのはなんでなん?
0770デフォルトの名無しさん
2012/01/22(日) 16:30:51.49前は cap.empty を見なくても length だけで行けてたのに、何で変えてしまったん?
0771デフォルトの名無しさん
2012/01/22(日) 16:31:16.510772デフォルトの名無しさん
2012/01/22(日) 16:41:52.410773デフォルトの名無しさん
2012/01/22(日) 17:05:25.620774デフォルトの名無しさん
2012/01/22(日) 18:12:29.32公式見解のこの方法じゃなくて?
0775デフォルトの名無しさん
2012/01/22(日) 18:18:14.98auto cap = std.regex.match( ... ).captures;
if (cap.length == M+1) {
// マッチしたときの処理
// 2.057 だとマッチしなくても入ってくる
}
こんな風に書いてたのが全滅して泣いた
0776デフォルトの名無しさん
2012/01/24(火) 23:07:56.060777デフォルトの名無しさん
2012/01/25(水) 00:06:00.07つttp://kmonos.net/alang/d/2.0/garbage.html
されない。明示的にdeleteしても、scope属性を付けても保証されるのはデストラクタの実行まで。
core.memory.GC.collect()を呼んでも動かないかも?
ttp://bm98.yaneu.com/dlang/Chapter-06.html
↑ちょっと古いけど、この辺の実装今はどうなってるんだろう?
0778デフォルトの名無しさん
2012/01/25(水) 00:07:04.540779デフォルトの名無しさん
2012/01/25(水) 00:07:22.760780デフォルトの名無しさん
2012/01/25(水) 00:16:29.13777オメw
0781デフォルトの名無しさん
2012/01/25(水) 07:49:24.19PullRequest投げました
http://d.puremagic.com/issues/show_bug.cgi? id=7359
https://github.com/D-Programming-Language/dmd/pull/637
0782デフォルトの名無しさん
2012/01/25(水) 07:58:58.20もうマージされてた
https://github.com/D-Programming-Language/dmd/commit/c9f0d0646ad3dde8a383f6f195763459e5d9a35b
0783デフォルトの名無しさん
2012/01/26(木) 02:00:58.420784デフォルトの名無しさん
2012/01/27(金) 18:00:14.63doSomething();
0785デフォルトの名無しさん
2012/01/28(土) 01:07:17.940786デフォルトの名無しさん
2012/01/28(土) 11:32:26.210787デフォルトの名無しさん
2012/01/28(土) 15:33:27.90auto f = FILE("test.txt", "w");
0788デフォルトの名無しさん
2012/01/28(土) 16:42:32.13ついった見ててやっとわかったけど `, MsgBoxIcon.QUESTION` の位置を間違えてるせいで
毎回doSomething()が実行されてナニコレ、って言いたかったんだな
0789デフォルトの名無しさん
2012/01/28(土) 20:35:04.940790デフォルトの名無しさん
2012/01/29(日) 01:19:23.20その考えは盲点でした。すばらしい!!
0791デフォルトの名無しさん
2012/01/29(日) 16:33:18.48なにこれ
つーかアップデートのたびBug直されまくってるのな
0792デフォルトの名無しさん
2012/01/29(日) 16:38:36.32http://www.d-programming-language.org/expression.html#Lambda
0793デフォルトの名無しさん
2012/01/29(日) 16:51:09.63血管が切れそうになる
0794デフォルトの名無しさん
2012/01/29(日) 17:24:14.36RESOLVED WONTFIX だと・・・? orz
0795デフォルトの名無しさん
2012/01/29(日) 20:08:19.93既存の演算子を使い回すのやめてくれよ
0796デフォルトの名無しさん
2012/01/29(日) 20:11:30.02Dの外の話でもしてるのか?
0797デフォルトの名無しさん
2012/01/29(日) 20:11:32.91=>これまで使われてたか?
0798デフォルトの名無しさん
2012/01/29(日) 20:26:31.180799デフォルトの名無しさん
2012/01/29(日) 21:06:53.000800デフォルトの名無しさん
2012/01/29(日) 21:30:41.510801デフォルトの名無しさん
2012/01/30(月) 21:56:29.10Rangeについて詳しい資料公式に転がってないか?
0802デフォルトの名無しさん
2012/01/30(月) 22:17:51.92http://ddili.org/ders/d.en/ranges.html
0803デフォルトの名無しさん
2012/02/01(水) 01:02:10.04class B: A{override void f(){}}
のとき、Bを継承したクラスがfをオーバーライドしてるか判断する方法ってありますか?
0804デフォルトの名無しさん
2012/02/01(水) 01:08:55.00(&B.f is &C.f) で判断できる
これがtrueの場合オーバーライドしていない
0805デフォルトの名無しさん
2012/02/01(水) 01:31:01.79class 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
0806デフォルトの名無しさん
2012/02/01(水) 01:44:59.45auto v2 = &f;
(v1.funcptr is v2.funcptr)
これで判断できました。ありがとうございます。
0807デフォルトの名無しさん
2012/02/01(水) 21:27:54.190808デフォルトの名無しさん
2012/02/01(水) 22:02:42.960809デフォルトの名無しさん
2012/02/01(水) 22:19:17.760810デフォルトの名無しさん
2012/02/02(木) 01:21:12.60void main() {
Object[] a = new A[2];
}
これ暗黙変換できなくなったの?
0811デフォルトの名無しさん
2012/02/02(木) 02:11:51.890812デフォルトの名無しさん
2012/02/02(木) 02:25:44.57それを許すと以下のような問題が起きる
class A { }
class C { }
void main() {
Object[] a = new A[2];
a[0] = new C; // Aしか入らない所にCを入れている
}
0813デフォルトの名無しさん
2012/02/02(木) 02:34:58.930814デフォルトの名無しさん
2012/02/02(木) 02:41:46.520815デフォルトの名無しさん
2012/02/02(木) 02:42:33.290816デフォルトの名無しさん
2012/02/02(木) 18:27:31.78>Object[] a = new A[2];
これと
Object[] a = [ new A(), new A() ];
これは違うよね。上は暗黙変換出来なくていいと思う。
0817デフォルトの名無しさん
2012/02/02(木) 19:00:50.88pragma(msg, typeof(new A[2]));
pragma(msg, typeof( [new A(),new A()] ));
pragma(msg, typeof(b));
A[]
A[]
A[2u]
0818デフォルトの名無しさん
2012/02/02(木) 19:06:16.22ほお…知らなかった
Dの静的配列と動的配列の値渡し/参照渡しとかの仕様が頭の中でこんがらがる
0819デフォルトの名無しさん
2012/02/02(木) 20:56:50.02static if(...) {
} else static if(...) { ← ここのstaticってなんで必要なの?
}
0820デフォルトの名無しさん
2012/02/02(木) 21:20:36.45} else {
static if(...) {
...
}
}
の略だから
0821デフォルトの名無しさん
2012/02/02(木) 21:28:43.30816で言いたかったのは、動的か静的かではなく、
>Object[] a = new A[2];
は配列長を確保してるだけなので必要な場面が思いつかない。
暗黙変換できなくていいと思う。
でも810がやりたかったのはエスパーすると
Object[] a = [ new A(), new A() ];
こっちじゃね?なら暗黙変換できるよーと言う事です。
0822デフォルトの名無しさん
2012/02/02(木) 21:52:58.62new A[2];はnew A[](2);に読み替えられてるのかな
0823821
2012/02/02(木) 22:02:22.300824デフォルトの名無しさん
2012/02/02(木) 22:10:09.59Error: cannot implicitly convert expression (new A[](2u)) of type A[] to Object[]
と出てるからまさにその通りだと思う。
0825デフォルトの名無しさん
2012/02/02(木) 22:20:34.66C++感覚で new A[2] と書くとドツボにはまりそう。
0826デフォルトの名無しさん
2012/02/02(木) 23:53:54.57サイズがコンパイル時に決定
値渡し、返り値にも使える
静的配列の代入は複製
動的配列はサイズが同じなら代入できる、違えば例外、この場合も複製されるはず(うろ覚え)
動的配列
参照型
int[]にint[10]とかを代入できるはずだがどうなるかは忘れた
0827デフォルトの名無しさん
2012/02/03(金) 01:53:58.80int[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 );
0828デフォルトの名無しさん
2012/02/03(金) 19:48:53.28import 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
偶然踏んでしまった
0829デフォルトの名無しさん
2012/02/03(金) 22:41:57.520830デフォルトの名無しさん
2012/02/04(土) 08:13:07.470831デフォルトの名無しさん
2012/02/04(土) 08:28:41.96公式ドキュメントのArraysに暗黙変換できるって書いてんだが…
0832デフォルトの名無しさん
2012/02/04(土) 12:44:43.720833デフォルトの名無しさん
2012/02/04(土) 12:49:28.15やっぱり regression か
0834デフォルトの名無しさん
2012/02/04(土) 17:44:44.34動的配列に静的配列入れたときも破壊的変更するとき初めてコピーされるという奇妙な仕様になってるし明示的にdupとかキャストさせるべき
0835デフォルトの名無しさん
2012/02/04(土) 19:04:51.370836デフォルトの名無しさん
2012/02/06(月) 12:32:24.51http://d.puremagic.com/issues/show_bug.cgi?id=926
なんか 「D2 では禁止!ドキュメントが古い!」とか
言ってるんすけど・・・ユルセナイ シャザイト バイショウヲ ヨウキュウシル
0837デフォルトの名無しさん
2012/02/06(月) 13:12:32.03○ A[] -> const(Object)[]
× A[] -> Object[]
0838デフォルトの名無しさん
2012/02/06(月) 19:16:23.410839デフォルトの名無しさん
2012/02/06(月) 19:35:51.35auto a1 = new A[](10);
Object[] a2 = a1;
a2[0] = new Object;
でバグっちゃうのか。
明示的に
Object[] a2 = a1.dup;
こうするのは今もできるってことね
0840デフォルトの名無しさん
2012/02/06(月) 20:30:19.030841デフォルトの名無しさん
2012/02/07(火) 17:22:48.200842デフォルトの名無しさん
2012/02/08(水) 00:52:17.22idupだとimmutableのまま
0843デフォルトの名無しさん
2012/02/08(水) 02:57:23.760844デフォルトの名無しさん
2012/02/08(水) 03:03:38.39immutable: 不変値をスレッド間で共有
0845デフォルトの名無しさん
2012/02/08(水) 09:54:57.340846デフォルトの名無しさん
2012/02/08(水) 12:12:21.70どうしてもさわってみたければ github から3点セットでDLしてビルドしる
0847デフォルトの名無しさん
2012/02/08(水) 17:35:50.05間違ったこと教えちゃいかんよ・・・
const その参照から値は変えられないが、別の要因で変わることがある。
immutable いかなる要因でも値が変わらない。
0848デフォルトの名無しさん
2012/02/08(水) 17:50:05.45http://ideone.com/sGgmK
0849デフォルトの名無しさん
2012/02/08(水) 18:46:46.08シールド付きがconstで
フルアーマーがimmutableってことね
この例えはとにかく、なるほど…勉強になりました。
0850デフォルトの名無しさん
2012/02/08(水) 18:52:49.18引数と関わりのないconst変数なんて作らないよね?
0851デフォルトの名無しさん
2012/02/08(水) 19:05:15.370852デフォルトの名無しさん
2012/02/08(水) 19:09:39.820853デフォルトの名無しさん
2012/02/08(水) 20:19:05.10http://www.kmonos.net/alang/d/2.0/const3.html
>>852
static this()
0854デフォルトの名無しさん
2012/02/09(木) 16:56:02.59どういうことが言いたかったの?
0855デフォルトの名無しさん
2012/02/09(木) 18:53:53.23ごめん、勘違いしてた
0856デフォルトの名無しさん
2012/02/10(金) 19:16:59.45dmdのバージョンは2.057です。
template foo(T){
enum foo = __traits(hasMember,T,"sizeof");
}
static assert(foo!(int)); //DMD Crash
0857デフォルトの名無しさん
2012/02/10(金) 19:33:23.96gtkD・wxD・DFL(fork)・DWT辺りは元気だけどQtDが死んでるなぁ
どこか別の所で元気にやってるのかな?
0858デフォルトの名無しさん
2012/02/10(金) 19:45:03.62trunk の最新ソースを落としてビルドしたら落ちなくなってた(WinXP 32)
0859デフォルトの名無しさん
2012/02/10(金) 19:57:57.79では、2.058では解決されているのですね
ありがとうございます
0860デフォルトの名無しさん
2012/02/12(日) 10:01:51.833.0とかどうなったんだろな
0861デフォルトの名無しさん
2012/02/12(日) 13:11:08.52呼び出し側でもrefとかoutとかつけて属性を明示できるようになって
プロパティはset/getキーワードを用意して自然に表現できるし
Attributeクラスでメソッドの属性を自作できる上にラムダ式とかも余裕で使えるし
しかも.NETフレームワークで動く
0862デフォルトの名無しさん
2012/02/12(日) 13:12:55.180863デフォルトの名無しさん
2012/02/12(日) 13:16:46.99あとはVisualStudioで開発できれば完璧だな
0864デフォルトの名無しさん
2012/02/12(日) 13:29:42.650865デフォルトの名無しさん
2012/02/12(日) 14:26:26.130866デフォルトの名無しさん
2012/02/12(日) 14:27:41.370867デフォルトの名無しさん
2012/02/12(日) 15:37:41.30投票券はTDPLに付属
0868デフォルトの名無しさん
2012/02/12(日) 17:04:21.14必須じゃなくてもつけまくるわ
0869デフォルトの名無しさん
2012/02/12(日) 17:49:28.42C# とか VBのアレか
アレはすごくほしい
けどタプルとかうまく使ったらいらないぜ
ってものかも知れない
0870デフォルトの名無しさん
2012/02/13(月) 00:20:34.12D3 と C# の違いを教えてくれ。
const ありの C# としても使えるならぜひ使おうかと思うんだが。
0871デフォルトの名無しさん
2012/02/13(月) 00:23:01.610872デフォルトの名無しさん
2012/02/13(月) 01:02:54.600873デフォルトの名無しさん
2012/02/13(月) 01:12:46.83WebProg板にスレあったはず
0874デフォルトの名無しさん
2012/02/13(月) 01:23:54.85設計開始から10年で初の処理系ってD言語超えてるな
0875デフォルトの名無しさん
2012/02/13(月) 07:09:01.910876デフォルトの名無しさん
2012/02/13(月) 19:03:17.74永遠に開発中だけど
0877デフォルトの名無しさん
2012/02/13(月) 19:16:20.310878デフォルトの名無しさん
2012/02/13(月) 20:23:52.670879デフォルトの名無しさん
2012/02/13(月) 22:27:50.330880デフォルトの名無しさん
2012/02/13(月) 23:50:47.570881デフォルトの名無しさん
2012/02/14(火) 01:35:40.480882デフォルトの名無しさん
2012/02/14(火) 06:56:34.19D言語研究が消えた。ショック
0883デフォルトの名無しさん
2012/02/14(火) 21:35:54.05InternetArchiveには数年前のしか残ってないし
俺もショックだ
0884デフォルトの名無しさん
2012/02/14(火) 22:34:02.000885デフォルトの名無しさん
2012/02/15(水) 01:46:51.540886デフォルトの名無しさん
2012/02/15(水) 15:05:43.070887デフォルトの名無しさん
2012/02/15(水) 15:43:25.100888デフォルトの名無しさん
2012/02/15(水) 15:46:00.10New/Changed Features
Add new => lambda syntax.
Allow 1.userproperty syntax
Convert to -shared dmd switch instead of -dylib
Better use of XMM registers in OS X 32 bit target.
0889デフォルトの名無しさん
2012/02/15(水) 15:50:27.05と
Bugzilla 314: [module] Static, renamed, and selective imports are always public
この2つは Breaking Change に近い
0890デフォルトの名無しさん
2012/02/15(水) 15:57:19.87Bugzilla 4553: D2 Language Docs: http://www.digitalmars.com/d/2.0/struct.html
↑これって何かが変わったの?
0891デフォルトの名無しさん
2012/02/15(水) 15:59:58.14と
1.userproperty
がわからねぇ。どなたか教えてください。
0892デフォルトの名無しさん
2012/02/15(水) 16:04:55.62これの最後に >>837 の件が反映されてない。まだリリース完了してない
もちつけ
0893デフォルトの名無しさん
2012/02/15(水) 16:37:58.58Bugzilla から pull request の中を見ればわかる
サンプルソースのほんのちょっとの間違いを修正しただけっぽい
0894デフォルトの名無しさん
2012/02/15(水) 16:39:34.060895デフォルトの名無しさん
2012/02/15(水) 17:02:55.930896デフォルトの名無しさん
2012/02/15(水) 17:08:44.790897デフォルトの名無しさん
2012/02/15(水) 17:43:03.14他に理由があるの?
0898デフォルトの名無しさん
2012/02/15(水) 17:44:02.53俺はD言語なんて使わないね
0899デフォルトの名無しさん
2012/02/15(水) 17:47:13.600900デフォルトの名無しさん
2012/02/15(水) 20:41:58.06具体的な事は知りもせずに言うけど
1.userpropertyは今まで配列でできてたアレ。
@property void hoge(int i) {writelen(i);}
っていう関数を用意しておくと
hoge(42);
の代わりに
42.hoge;
みたいに呼び出せる。
=>に関してはC#のラムダ式の記事でも見た方が早い
0901デフォルトの名無しさん
2012/02/15(水) 21:01:28.48dのマングルされたシンボルをデマングルするんじゃね?
0902デフォルトの名無しさん
2012/02/15(水) 21:21:24.18俺の野生の勘が(ry
0903デフォルトの名無しさん
2012/02/15(水) 21:27:13.70Rubyキタ
生成したexeのサイズがD2.055のに比べても小さくなってるなあ
よし、VersionUp時
0904デフォルトの名無しさん
2012/02/15(水) 22:00:44.562.058 (x, y) => x+y
0905デフォルトの名無しさん
2012/02/15(水) 22:11:14.60ってなんぞ?
0906デフォルトの名無しさん
2012/02/15(水) 22:42:50.10public class A : public B { }
とかでも。
0907デフォルトの名無しさん
2012/02/15(水) 23:02:47.600908デフォルトの名無しさん
2012/02/15(水) 23:21:37.120909デフォルトの名無しさん
2012/02/15(水) 23:43:33.840910デフォルトの名無しさん
2012/02/15(水) 23:44:09.93public継承のみになったの?
0911デフォルトの名無しさん
2012/02/15(水) 23:51:23.29「基底クラス保護の使用は廃止」だからな
0912デフォルトの名無しさん
2012/02/16(木) 00:23:10.58これは1.userpropertyがパーザーで
(1).userpropertyとして扱われるようになった、という変更。
あくまでパーザーの改善なので、>>900のようなことは「まだ」できない。
>>900 はUniform Function Call Syntax(UFCS)と呼ばれるやつだが、これは
まだ入ってない。
https://github.com/D-Programming-Language/dmd/pull/582
ここでPullRequestは出されている。Andreiのコメントを読む限り
配列に限らずあらゆる型でのUFCSは動作するべきらしい。
0913デフォルトの名無しさん
2012/02/16(木) 00:26:09.37ddemangleは標準入出力を通したテキストにDのmangled nameが含まれる場合
これをdemangleしてくれるツール
stack traceとかをパイプでddemangleに食わせると出力を読みやすい形式に
変換できる
0914デフォルトの名無しさん
2012/02/16(木) 00:27:28.520915デフォルトの名無しさん
2012/02/16(木) 00:29:47.55ちなみにTDLPに書かれていたfunction/delegate推論も追加された
関数リテラルでfucntion/delegateを明示せずに (x, y) { ... } とか書くと
... のコードが外側フレームを参照してない場合に自動的にfuncitonに
推論される(いままでは必ずdelegateになっていた)
0916デフォルトの名無しさん
2012/02/16(木) 00:31:10.29確かに滅多に使わないけど
完全廃止とはまた思い切ったな
0917891
2012/02/16(木) 00:33:06.77>>912
なんだ。まだむりなのか。でもなんか胸熱展開wktk
>>904 は
delegate ParameterAttributes { return AssignExpression; }
だよな。では
delegate ( Identifier ) { return AssignExpression; }
これって Function Literals のなかで説明されてるっけ?
0918デフォルトの名無しさん
2012/02/16(木) 00:35:01.870919デフォルトの名無しさん
2012/02/16(木) 00:46:24.98こっちのこと?
http://dlang.org/expression.html#Lambda
0920デフォルトの名無しさん
2012/02/16(木) 01:22:00.59すまん。自己解決したかもしれん。
ParameterAttributes と Idetifier の違いが分からなかったんだが
Identifier のほうでは括弧を省略できてるってことでおk?
( x ) => x * x; // ParameterAttributs => AssignExpression
x => x * x; // Identifier => AssignExpression
ってことか
0921デフォルトの名無しさん
2012/02/16(木) 01:42:59.22void main()
{
foo( (int x, int y) => x * y ); // ParameterAttributs => AssignExpression
foo( (x, y) => x * y ); // Identifier => AssignExpression
}
ってことじゃない?
0922デフォルトの名無しさん
2012/02/16(木) 02:04:18.90void
あれ?こんな仕様だっけ?
0923デフォルトの名無しさん
2012/02/16(木) 02:15:52.29すげ〜・・・でもDMD以外の実装が涙目
0924デフォルトの名無しさん
2012/02/16(木) 02:17:45.040925デフォルトの名無しさん
2012/02/16(木) 02:33:12.89そこは a の型省略できないんじゃないか?推論できないから。
typeof( ( int a ) => 1 );
int function(int a) pure nothrow @safe
0926デフォルトの名無しさん
2012/02/16(木) 02:50:13.90おっと、パラメータの型を決める所でこけてるのか。戻り値しか見てなかった
voidじゃなくてコンパイルエラーになってほしいな
0927デフォルトの名無しさん
2012/02/16(木) 03:44:14.54class A : public B { }
↓
class A : B { }
これでいけた
float a = 255.f;
↓
float a = 255.0f;
平和だ・・
0928デフォルトの名無しさん
2012/02/16(木) 05:28:50.590929デフォルトの名無しさん
2012/02/16(木) 07:45:38.840930デフォルトの名無しさん
2012/02/16(木) 15:40:18.08既存のライブラリのいくつかは息を引き取るであろう
0931デフォルトの名無しさん
2012/02/16(木) 16:47:35.810932デフォルトの名無しさん
2012/02/16(木) 17:03:16.860933デフォルトの名無しさん
2012/02/16(木) 19:21:48.92今世紀最大にワクワクできることきたな
0934デフォルトの名無しさん
2012/02/17(金) 00:06:38.910935デフォルトの名無しさん
2012/02/17(金) 00:16:15.580936デフォルトの名無しさん
2012/02/17(金) 19:30:02.210937デフォルトの名無しさん
2012/02/17(金) 21:07:10.730938デフォルトの名無しさん
2012/02/17(金) 21:10:13.690939デフォルトの名無しさん
2012/02/17(金) 21:17:06.36http://dusers.dip.jp/modules/forum/index.php?topic_id=109
0940デフォルトの名無しさん
2012/02/17(金) 22:27:29.76ここらへんは型がうっとおしく感じる率が高いところだったから
0941デフォルトの名無しさん
2012/02/17(金) 22:58:22.170942デフォルトの名無しさん
2012/02/17(金) 23:14:49.080943デフォルトの名無しさん
2012/02/17(金) 23:15:12.85よかったらサンプルコード付きで教えてちょ
↓空白とか面倒だったら活用してちょ
ttp://ideone.com/
0944デフォルトの名無しさん
2012/02/18(土) 00:03:36.06例えばこういう時
/** Menuを作成する。Menuの有効・無効はenabledの結果によって随時切り替える。 */
Menu createMenu(bool delegate(Widget w, Status s) enabled) { ... }
これを以前はこういう風に使っていた
auto menu = createMenu((Widget w, Status s) {return w.isSelection;}); // wが選択状態の時だけメニュー有効
これがこう書ける
auto menu = createMenu((w, s) => w.isSelection); // listが選択状態の時だけメニュー有効
たったこれだけなんだけど、数が増えると手間がだいぶ減るし見た目もすっきりする
テンプレートとかと併用するともっと効果的なんじゃないかな
0945デフォルトの名無しさん
2012/02/18(土) 00:34:48.690946デフォルトの名無しさん
2012/02/18(土) 00:35:53.670947デフォルトの名無しさん
2012/02/18(土) 00:42:03.88ストイックすぎるか
0948デフォルトの名無しさん
2012/02/18(土) 01:07:25.610949デフォルトの名無しさん
2012/02/18(土) 02:08:31.06もともとdelegateを引数にとるような所で有効だったのね。
引数にdelegateとか関数ポインタとか指定した記憶が無いから思いつかんかったよ。
そういえば、サンプルコード見てて思ったんだけど
おいらは未だに
ttp://www.dsource.org/projects/bindings/wiki/WindowsApi
こいつと CのHello Worldみたいなひな形を使って手打ちでやってるんだけど…
おまいらはどんなWindowのライブラリ使ってるの?
dflはあんまり好きじゃ無くて手放してしまったんだよね。
Dにもwtlみたいに比較的さっぱりめのライブラリがあったら是非使ってみたいとは思ってるんだけど…。
0950デフォルトの名無しさん
2012/02/18(土) 03:37:43.41IEnumerableとRangeも似てるが、しかし方向性が違う
ラムダ式にしても式木・動的言語環境を持ってList Processor寄りの発想で作られ
もう一方はpure関数など関数型言語としてのアプローチでラムダ式が必要になってきた
似ているようで違うのが両者
0951デフォルトの名無しさん
2012/02/18(土) 11:31:08.30無いんだな、これが
いや、大昔にはあるにはあったんだけど今ではみんな目が死んでる
0952デフォルトの名無しさん
2012/02/18(土) 11:40:21.200953デフォルトの名無しさん
2012/02/18(土) 11:54:08.31・元ネタはSWTだが実態はDネイティブ
・表面上マルチプラットフォーム
・破壊的変更にもすぐについていくことがある
・静的リンクしても問題ない(ライセンス的にも)
DEBUG=1だとOPTLINKがエラーを吐くがDでは大した問題ではない
・膨大な機能が揃っている。一部まともに動かないが気にしない
・setXxxみたいな名前は意外と気にならない
・鬱陶しいイベント処理はラッパを作ればなんとかなる
なんといってもコンパイルできるどころかリンクまでできてしかも動くという時点で
そんじょそこらのDライブラリとは格が違うのだよ
0954デフォルトの名無しさん
2012/02/18(土) 13:54:26.34・大した問題ではない
・気にしない
・意外と気にならない
・なんとかなる
ひゅう……。
さすがにGUIに触ろうなんてD言語erは訓練されてやがるぜ……。
0955デフォルトの名無しさん
2012/02/18(土) 14:06:55.200956デフォルトの名無しさん
2012/02/18(土) 14:34:51.91ここにまず突っ込めよw
Windows限定なら DFL がお手軽だと思うよ
0957デフォルトの名無しさん
2012/02/18(土) 17:19:04.73それまだ動くの?
0958デフォルトの名無しさん
2012/02/18(土) 17:55:36.920959デフォルトの名無しさん
2012/02/18(土) 20:13:38.15むしろよかったらそれ下さい
この言語使ってると無性にライブラリが作りたくなるんだけど
作ってる最中に破壊的変更が来たりして更新する気が失せて
半年くらいしたらまたDのプログラム書きに戻って来ちゃうんだけどその頃には作ったライブラリのソースの場所を失念してたりして
車輪の再発明ばっかりでもう嫌になっちゃうw
そろそろ0からやり直し続ける程の気力が湧かなくなってきましあ><
0960デフォルトの名無しさん
2012/02/18(土) 20:17:32.340961デフォルトの名無しさん
2012/02/18(土) 20:27:53.27きれいな顔してるだろ、これ、5日前には更新されてるんだぜ?
Remove deprecated base class protection attributes from interface declarations
"interface Foo : public Bar" => "interface Foo : Bar"
0962デフォルトの名無しさん
2012/02/19(日) 10:21:58.76DでWinRTがバリバリに使えたら人口増えるんじゃないかな!な!
でもその前にyieldかなあ
0963デフォルトの名無しさん
2012/02/19(日) 11:20:57.90えっと
op.... op... opApply
0964デフォルトの名無しさん
2012/02/19(日) 11:22:26.160965デフォルトの名無しさん
2012/02/19(日) 13:27:44.41interface A{}
interface B : A{}
void test( A a ){}
void hoge( A* a ){}
void main(){
B b;
test( b ); // OK
hoge( &b ); // cannot implicitly convert expression
}
とか、元々仕様なの?
どっかに詳しくあるなら、教えて
0966デフォルトの名無しさん
2012/02/19(日) 13:38:55.21D使ってるとポインタを忘れる
0967デフォルトの名無しさん
2012/02/19(日) 13:56:58.22// 未確認
0968デフォルトの名無しさん
2012/02/19(日) 14:03:06.34interface A{}
interface B : A{}
interface C{}
void hoge( A* a ){}
void main(){
B b;
C c;
hoge( cast( A* )&b ); // 冗長なだけだけど
hoge( cast( A* )&c ); // OK でいいのかな?
}
とか思ったから
0969デフォルトの名無しさん
2012/02/19(日) 15:06:18.470970デフォルトの名無しさん
2012/02/19(日) 15:18:46.860971デフォルトの名無しさん
2012/02/19(日) 15:41:17.17きっと、きっとあるはず
0972デフォルトの名無しさん
2012/02/19(日) 15:43:23.05オブジェクトへのポインタはキャストで取得するんだ。
0973デフォルトの名無しさん
2012/02/19(日) 16:33:11.08静的型言語としての型安全性が壊れるため。
is(B : A)のとき、暗黙変換としてB -> Aは許されるが
B* -> A*は許されない。B* -> const(A)*ならOK。
理由は
B b = new B();
B* pb = &b;
A* pa = pb; // もしこれが許されるなら
*pa = new A(); //これは合法なので
// 変数bにAのインスタンスが入ってしまう
ポインタ型について明示的に述べているところは無いが、動的配列型が同じ
問題を持っていて、それについては
http://www.d-programming-language.org/arrays.html#implicit-conversions
で書かれている。
T[] は const(U)[] に変換できる(がU[]には変換できない)というのがそれ。
0974デフォルトの名無しさん
2012/02/19(日) 17:17:07.80こうじゃないのか?
hoge( &(cast(A)b) );
0975デフォルトの名無しさん
2012/02/19(日) 17:17:44.02castで簡単に回避できる方が問題なのかな
Win32API の IUnknown** とかは const( IUnknown )*
に置き換えればよさげ?
0976891
2012/02/20(月) 00:05:27.190977デフォルトの名無しさん
2012/02/20(月) 03:56:38.480978デフォルトの名無しさん
2012/02/20(月) 11:56:17.87constの厳密化が地味に痛い。
0979デフォルトの名無しさん
2012/02/20(月) 12:58:56.590980デフォルトの名無しさん
2012/02/20(月) 13:09:37.62あり合わせで作ったツールに後方互換性を維持したせいで
軽く1万人年は無駄が発生してるんだろうなあと思うところはあるよ
0981デフォルトの名無しさん
2012/02/20(月) 13:49:56.11ある特定の条件を満たすとデストラクタで直接廃棄リスト行きにできる条件ってあるだろうか。
pureみたいなコンパイラに与える属性として。
あとデストラクタで参照型とポインタはなるべくnullを代入しろってアドバイスが書かれてたけど
あれって自動化すると何か問題あるだろうか。
0982デフォルトの名無しさん
2012/02/20(月) 14:11:11.78http://toro.2ch.net/test/read.cgi/tech/1329714331/
0983デフォルトの名無しさん
2012/02/20(月) 18:01:38.540984デフォルトの名無しさん
2012/02/20(月) 23:59:08.020985デフォルトの名無しさん
2012/02/21(火) 16:02:24.88の変更で書き換えが大量に発生すると思っていたが、
思ったほどエラーは出なくて首をかしげていた。
> 2.057までは型名として、2.058以降は仮引数名として扱われるようになる
型名だと思った? 残念! 引数名でしたーーーwww
というブービートラップか
0986デフォルトの名無しさん
2012/02/21(火) 17:33:27.28みたいなことをDだけでできてこれは便利だと思うわー
0987デフォルトの名無しさん
2012/02/21(火) 18:14:50.24他の言語でも一応出来るでしょ?
'簡単に'実現できるとかいう意味なら同意できる…かな
0988デフォルトの名無しさん
2012/02/22(水) 09:53:19.070989デフォルトの名無しさん
2012/02/23(木) 01:25:40.341. dmd2.058 Windowsで
2. Dで書いたライブラリの中の クラス/構造体 テンプレート内の static this が実行されない、ただし
3. そのライブラリ内でインスタンス化されてない場合で、
4. そのライブラリを、自動生成された .di ファイルで import している時。
5. .di ファイルに static this の body を書き足せば実行される。
なんだけど、これバグなんじゃないか?
0990デフォルトの名無しさん
2012/02/23(木) 01:28:36.330991デフォルトの名無しさん
2012/02/23(木) 01:42:31.56http://drdobbs.com/blogs/cpp/228701711
コンパイラ開発者たちは頑張ってるけど、
C++仕様を満たすには最低でも3パス必要だとか、
プリプロセッサのせいで大量のソースを読み込む必要があるとか、
そういう話がつらつらと
0992デフォルトの名無しさん
2012/02/23(木) 02:16:26.08importだけして実体をリンクし忘れてるわけじゃなく?
0993デフォルトの名無しさん
2012/02/23(木) 02:18:58.55リンクエラーになるのが正しいと思う
使い方的には template mixin?
それどころかこんな問題もまだ残ってるけど
http://d.puremagic.com/issues/show_bug.cgi?id=5950
0994デフォルトの名無しさん
2012/02/23(木) 03:19:45.43di内に書き出されたテンプレートクラス/構造体には
問題のstatic thisが書き出されてないんだよね?
そのあとで「手書きでbodyを書きたせば」と言っているし。
dmdのバグだと思う。
0995デフォルトの名無しさん
2012/02/23(木) 04:27:54.43リンク忘れでは無い筈。ライブラリ内の他の関数は呼べてるし。
>>993
template mixin でも、明示的インスタンス化でも結果は同じだった。
クラス/構造体 じゃないテンプレート内に static this を置いても同じだった。
てか、get なんてあったんだな。なんか、以前似たような関数自作した記憶が…
>>994
書き出されていないといっても static this(); の宣言だけはされてる。
とりあえず body 書き足すので回避したけど、
テンプレート外の static this も .di ファイル内では同じく body のない宣言の状態で、
こっちは実行されてる。
レポートしようかと思うんだけど、 ttp://d.puremagic.com/issues/ になければ未発見ってことでいいんだよな?
0996デフォルトの名無しさん
2012/02/23(木) 13:01:15.82かぶってて消されるのはよくある
0997デフォルトの名無しさん
2012/02/24(金) 00:23:21.810998デフォルトの名無しさん
2012/02/24(金) 00:24:56.270999デフォルトの名無しさん
2012/02/24(金) 00:27:32.431000デフォルトの名無しさん
2012/02/24(金) 00:28:20.0410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。