1 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:09:54 ] プログラミング言語 D について語るスレッドです。 過去スレは >>2 ■本家 ttp://www.digitalmars.com/d/ ttp://www.kmonos.net/alang/d/ (和訳) ■コンパイラ ttp://www.digitalmars.com/d/dcompiler.html (DMD, 本家) ttp://dgcc.sourceforge.net/ (GDC, gccフロントエンド) ttp://gdcmac.sourceforge.net/ (GDCのmac用バイナリ) ■参考URL ttp://f17.aaa.livedoor.jp/~labamba/ (D言語研究) ttp://dsource.org/ (dsource)
360 名前:デフォルトの名無しさん [2007/02/26(月) 23:00:32 ] >>359 キモイGPL信者にGPLのソフトをしつこく薦められたことがあるから。
361 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:02:21 ] 感染力強すぎるからなあ 他に使いたいライブラリとぶつかってしまう場合もしばしばある
362 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:07:57 ] >>360 なるほど。 なんにせよ押し付けはよろしくないよね。 俺も気を付ける。 >>361 まぁ感染力強すぎるのはあるよね。
363 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 00:01:49 ] >>362 >なんにせよ押し付けはよろしくないよね。 >俺も気を付ける。 頼むからそうしてくれ。 オープンソース系のソフトで、よさそうなのがあっても 自分が他人からキモイ信者達と同じ人種に見られるのが 恥ずかしくて採用を見送ることがよくある。
364 名前:351 mailto:sage [2007/02/27(火) 00:04:03 ] 遅れたけど、みなさん情報感謝。 とにかく使い始めてみる。
365 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 18:54:51 ] const char[][] x = ["a","b"]; static assert(x[0] == "a"); これってできないの?
366 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 19:21:59 ] >>365 static assert(x[0] == "a"); → static assert(x[0] == 'a'); じゃないか?
367 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 19:28:18 ] >>365 現状では無理。もしそれをできるようにするならdmdの配列リテラルの設計を文字リテラルと同じようにしないといけない。
368 名前:365 mailto:sage [2007/02/27(火) 19:44:13 ] あぁ、むりなんだ。なんか直感的じゃないね。 特別な理由でもあるんかな
369 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 19:46:59 ] Walterタソが配列リテラルの実装を手抜きしただけな予感。
370 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:41:12 ] constが型修飾子じゃないから、 配列xがconstなだけでxの要素(である配列)はconstじゃないよ、 とかそういう理由かな。
371 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 23:10:47 ] >>370 違うとおも。文字列リテラルだと宣言された型をスルーして値型(静的配列)として内部で扱ってたはずだけど、配列リテラルでは宣言時点でオブジェクトに書き込むようになってたはず。
372 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 00:43:33 ] なるほど 仕様バグという話じゃないなら、今後の改善に期待か
373 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 06:50:58 ] 非常に亀レスなんだけども lazyをdelegateに変換する時にこういうのはどうだろう int delegate() dg; void hoge( int delegate()[] d... ) { dg = d[0]; } int n = 12; hoge(n);
374 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 15:14:23 ] >>373 どこにlazyが
375 名前:デフォルトの名無しさん [2007/02/28(水) 19:24:01 ] age
376 名前:C++最強伝説 mailto:sage [2007/02/28(水) 20:56:33 ] [C++] 攻撃:97 素早さ:98 防御:98 命中:54 運:66 HP:273 [D] 攻撃:97 素早さ:15 防御:22 命中:92 運:42 HP:291 C++ vs D 戦闘開始!! [C++]の攻撃 HIT [D]は149のダメージを受けた。 [D]の攻撃 HIT [C++]は69のダメージを受けた。 [C++]の攻撃 HIT [D]は191のダメージを受けた。 [C++]が[D]を倒しました(ラウンド数:2)。 魔法のMD5 - MD5バトル www.newspace21.com/mix/btl.php
377 名前:デフォルトの名無しさん [2007/02/28(水) 23:30:10 ] それにしてもC++は強すぎないか
378 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 23:36:50 ] 一番良い線行ってるC#ですら大差で負けてるし
379 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 23:47:03 ] トキに勝てるのを探す途中で試したなあ>C++ 結構強くて「おお!」とか思ったのを覚えてる。Dも結構強いな。
380 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 23:48:17 ] このスレ見てたらノウハウとバッドノウハウの区別がつかなくなったので区別を教えて欲しい
381 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 23:56:39 ] バッドノウハウ ソフトウェアなどを使いこなすために、 ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ。 高林哲による造語。 氏によると、バッドノウハウは、 複雑な設定を「奥が深い」として有難がってしまう マニア独特の感性によってはびこるという。
382 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 00:31:33 ] 構造体にstatic opCallで疑似コンストラクタつけるのはどうなの? あれは公式に認められた使い方?
383 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 00:42:37 ] >>382 それ認めるくらいなら構造体用のコンストラクタ付けるんじゃね、うぉるたーたんなら
384 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 03:05:31 ] >>382 www.kmonos.net/alang/d/struct.html > opCall がその構造体でオーバーライドされていて、 > 別の型の値で構造体が初期化されようとしているときには、 > opCall 演算子が呼び出されます: ということだから、 opCallを初期化用途に使うこともOKじゃないかな、たぶん。
385 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 13:07:45 ] foobarとhogefugaではhogefugaの方が強いんだなw
386 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 10:26:51 ] import mylibs.hoge; なんてやってると import std.hoge; でなくて import phobos.hoge; の方がいい感じに見えてくる
387 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 17:29:53 ] つまりphobosを標準ライブラリとして認めないということだな! 賛成
388 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 17:30:55 ] 勢い余ってsakura editorのD言語キーワード作っちゃたんだけど、既存なら自殺する。
389 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 17:38:11 ] さらしてからにしろよw
390 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:37:15 ] >>388 tarballでくれ
391 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 18:58:53 ] ttp://www.digitalmars.com/d/lex.htmlを見れば1分で作れそうな気もするんだがね
392 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 19:10:26 ] sakura editorのD言語版じゃなくてキーワードだけかw ShiftJISやEUCの漢字コードの変換がどうしてもしたくて、 勉強のためにgreen padをいじってD版でも作ろうかとなんとなく考える俺ガイル
393 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 02:32:12 ] >>392 後は頼んだ
394 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 09:09:28 ] プログラムほとんど初心者なんだが、readStringみたいな int[] hoge readInt(5); があったらいいなと思うんだけれど
395 名前:394 mailto:sage [2007/03/03(土) 09:12:07 ] ごめん >int[] hoge readInt(5); int[] = hoge readInt(5);
396 名前:394 mailto:sage [2007/03/03(土) 09:14:20 ] なにしてんだか 完璧レス汚し >int[] hoge readInt(5); int[] hoge = readInt(5);
397 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 09:39:12 ] んなもん、自分で書きゃいいじゃん。 import std.stream,std.bind; int delegate(int delegate(inout T)) readTApply(T)(Stream strm,int n){ return bind(function(Stream strm,int n,int delegate(inout T)dg){ T v; while(n-- && strm.readf(&v)) if(int r = dg(v))return r; return 0; },strm,n,_0).ptr; } T[] readT(T)(Stream strm,int n){ T[]r; foreach(x;readTApply!(T)(strm,n))r~=x; return r; } import std.cstream; void main(){ foreach(c;readT!(int)(din,2)) printf("%d\n",c); }
398 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 14:42:16 ] dmdで作られたexeってどこに配置されるの?
399 名前:398 mailto:sage [2007/03/03(土) 15:22:11 ] すみません、調べていくうちに Document and Setting\(ユーザ) にexeが作られると言う事は分かったんですが、 これを他の場所に変えるにはどうすれば良いんでしょうか
400 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 15:23:59 ] 日本語でおk
401 名前:398 mailto:sage [2007/03/03(土) 15:25:26 ] 度々すみません、自己解決しました。
402 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 16:08:46 ] ( ゚д゚)ポカーン
403 名前:3_9_8 mailto:sage [2007/03/03(土) 16:27:37 ] ><
404 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 16:30:22 ] 初々しいねえ。
405 名前:デフォルトの名無しさん [2007/03/03(土) 16:51:07 ] 久々なんだけど名前空間どうなった?
406 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 17:01:07 ] dsource.orgがうまく見れないの俺だけ?
407 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 17:19:28 ] >>406 にゅーすぐるーぷみれ
408 名前:デフォルトの名無しさん [2007/03/03(土) 22:55:21 ] やべぇ、今日中にbudを手に入れないとダメなのに・・・
409 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 23:11:59 ] なんだこの流れ
410 名前:デフォルトの名無しさん [2007/03/04(日) 00:17:04 ] Budのバイナリのアドレスを trac.dsource.org/projects/build/browser/downloads/bud_win_3.04.exe?format=raw から www.dsource.org/projects/build/browser/downloads/bud_win_3.04.exe?format=raw に変えたら事故解決してしまいました。
411 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:40:40 ] Dのバグジラ見ると、オープンなヤツがかなり残ってると思うだが、 この規模のプロジェクトで、この数はふつ〜なの? なんかをるたーたんがおもろいとこだけ推し進めてる感があるんだが・・
412 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:41:39 ] 所詮は趣味の世界なんだろ
413 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:13:20 ] 要するに、stableのための作業はほとんどやってないということか。
414 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:36:31 ] stable の前に、言語仕様を固めたいんじゃないか?
415 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 20:06:00 ] どうせ2.0リリースの手前にバグフィックス月間があるでしょ。 dmd 1.0なんてしょせんただの通過点だし。
416 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 20:46:26 ] おまえら所詮って言葉好きだな
417 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 20:47:20 ] stableなDなんかDじゃないんだい!
418 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:29:36 ] >>416 全部同一人物だしこのスレ3人しかいないんだけどな。
419 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:23:42 ] 四人目です。XCodeで使う方法が分からず挫折。
420 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:46:14 ] 言語仕様を固めるにも、いろいろユーザから要望は来るし、 ウォルター自身もいろいろ浮かんじゃって……って、一向に安定しない予感。 そんな状況だけど、それでも使いたくなっちゃう俺なんだけど。 ホントに仕様固めるとしたら、 せめて配列リテラルの型は明示できるようにしといて欲しいなぁ……。 あと連想配列のキーにopCmp要求するのやめて'hashCmp'とか別のにしてとか、 せめてmain引数くらいはちゃんとUTF-8変換しといてとか、 ああ、山積みだ。
421 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:49:07 ] 構造体を静的にしかあーいう形で初期化できないのはどうしたものか。 必ず static opCall 作れということなのか?
422 名前:デフォルトの名無しさん [2007/03/05(月) 10:52:49 ] よく考えたらDって結構キーワード多いのな
423 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:28:49 ] クラスの定義には class 構造体の定義には struct 共用体の定義には union 関数の定義には function ってならないの?不公平じゃね Cとかのいらないものを継承してんのかね
424 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:38:13 ] 激しく意味不
425 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 12:44:48 ] そーいやunion使ったことないや
426 名前:デフォルトの名無しさん [2007/03/05(月) 13:28:17 ] x64向けにコンパイルできないの?<D言語
427 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 13:30:57 ] ttp://wwwww.2ch.net/test/read.cgi/news4vip/1172977271/ 恐ろしい
428 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 13:43:15 ] function void hoge(int i){ ... } ってか。 Cからの継承だろうけど、別に要らないものではないだろう。 明示できるとコンパイラにも人間の読み手にも優しそうではあるが、必須だとメドイし。 ……とかいいつつ、 property void foo(int value){ this.value = value; } みたくプロパティを明示させてくれよー、と主張したい俺としては `property`に対応する`function`もあってもいいような気がしてきた。妄想しすぎか。
429 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 14:24:12 ] functionとやっちゃうと関数ポインタの宣言と被るよね。 むしろfunctionとprocedureとpropertyでそれなんてDelphi
430 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 17:30:17 ] DFL 0.9.5 リリース
431 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 18:34:36 ] いやっほう。なにげに待ってたぜDFL。 しかしhelloworld.dのコンパイル後サイズは433KBか……。 ちょっと、その、太ったんじゃないか……?
432 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:08:48 ] Delphiに比べれば・・・!!
433 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:11:32 ] つ upx
434 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:52:06 ] alias void procedure;
435 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:14:34 ] お,DFLまじかー さっそくupdateしよ
436 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:16:12 ] 訳してくれ
437 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:31:29 ] D言語研究 f17.aaacafe.ne.jp/~labamba/ 見てたらいまさっきNotFoundになった
438 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:31:55 ] >>437 みられるが?
439 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:32:09 ] あれ復活したすんません・・・
440 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 05:50:25 ] aaacafeは全体的に不安定だよ しかも一度落ちたら酷いと半年以上復活しないことも(そしてデータが消えてることもしばしば) すぐ復活したのは運が良かったな
441 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 06:16:57 ] >>440 初期の頃、ちょっとだけ利用してたけど いまだにそんな学生商売な体質でやってんのかよ。
442 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 11:28:18 ] でも、Firefoxで"D言語"でぐぐってもD言語研究が表示されない・・・
443 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 11:44:49 ] >>437 URL
444 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 11:45:25 ] 途中で書き込んじゃった >>437 URL変わってるよ ブラウザがリダイレクトしなかったんじゃない? ttp://f17.aaa.livedoor.jp/~labamba/
445 名前:442 mailto:sage [2007/03/06(火) 14:13:32 ] いや、すまん言葉足らずだったかも。表示されないってのは検索結果の事。 それに、今ブクマ確認したら前にグーグルの検索結果に表示されてた時と同じURLだったから違うとおも。 ttp://www.google.co.jp/search?q=D%E8%A8%80%E8%AA%9E&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox これで検索結果に表示されなくなってる。
446 名前:442 mailto:sage [2007/03/06(火) 14:15:13 ] それか、pagerankがものすごく下がってるのかもしれん
447 名前:442 mailto:sage [2007/03/06(火) 14:16:39 ] げ、あぼられた・・・ ちょっと確認。
448 名前:442 mailto:sage [2007/03/06(火) 14:19:01 ] あれ?ちゃんと表示されてる。bbs2chreaderのバグか? 後、連レスすまそ。
449 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 15:02:52 ] >441 ってもLDショック後の再建の影響か最近復帰早め 相変わらずデータはよく飛ぶからバックアップは必須だけどな っていい加減スレ違いなのでやめとくね
450 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 17:39:50 ] gdc 0.23 March 5, 2007
451 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 15:23:19 ] x64対応か
452 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 00:34:12 ] >>432 delphiはhelloworldでも400KB以上にはならないと思うけど
453 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 01:00:18 ] おまいらに質問なんだけど 標準ライブラリってphobos使ってる?それともtango?
454 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 01:44:07 ] libstdc
455 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 08:27:31 ] tangoに移行中
456 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 10:37:27 ] tangoだとDLLが作れないんで、今はphobos
457 名前:453 mailto:sage [2007/03/08(木) 10:58:24 ] >>454 おまwwでも、dmc側で使ってるんだっけ? >>455 ,456 ふ〜ん・・・そうか、やっぱりtangoか・・ でもDLL作れないってどういうこと?linkで弾かれるのか?
458 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 12:05:23 ] そうだよ
459 名前:456 mailto:sage [2007/03/08(木) 12:14:43 ] >>457 DLLのガベコレの設定に必要なsetGCHandleとendGCHandleが無かったんで、 それでtango導入をあきらめた過去がある。 ただ、今ソースを見てみたんだけど、必要なものはそろってるから、 dmd\src\phobos\internal\gc\gc.dのgetGCHandleとsetGCHandleとendGCHandleを tango\lib\gc\basic\gc.dにコピペしてやれば、何とかなるかもしれない。 それ以外にも引っかかった点は、 プリティプリンタがphobosに比べて弱い。 phobosにあってtangoにないものが結構ある。(bind、traits、typetuple、boxer) 「tangoさえあればそれでOK」という感じではなかった。 過去のソースの書き換え&ほかのライブラリが動かないリスクを考えると、 今はまだ様子見の時期かな、と俺は判断した。 「過去のソースの書き換え&ほかのライブラリが動かないリスク」が無ければ 使ってもいいんだけどね。 しかし、エラーの原因がtoStringのtoUtf8化とErrorクラスの削除ってのも微妙というか、 しょうもないことで動かなくなるのは萎える。
460 名前:453 mailto:sage [2007/03/08(木) 13:13:17 ] >>459 typetubleとか、boxerとか無いんだな・・・ へぇ・・・今後の参考になる。 まぁでも、いつかはtangoか、またはtangoをベースにしたphobosになるだろうから、オレもtangoを導入してみるかな。 後もう一つ質問なんだけど、deimosって何?Waltarタンが新たに構築してる標準ライブラリって聞いたけど?D Runtime Libraryってことは・・・でもDってネイティブだよな