1 名前:デフォルトの名無しさん [2008/02/10(日) 15:06:12 ] プログラミング言語 D (D Programming Language) について語るスレッドです。 過去スレは >>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) ttp://tinyurl.com/3da5oa (C/C++に疲れた人のD言語) ttp://www.kmonos.net/alang/wnd/ (わかったつもりになるD言語) ttp://shinh.skr.jp/d/ (SDL, SDL_*, OpenGL, GLU, glutのポーティングとか) ttp://shoo.s20.xrea.com/shoo/programing (D言語とTangoの入門講座) ttp://www.nicovideo.jp/mylist/4453698 (D言語で作られた芝ゲー niconico動画) ■ IDE ttp://dronten.googlepages.com/dscite (DSciTE) 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)
2 名前:デフォルトの名無しさん [2008/02/10(日) 15:07:24 ] ■過去スレ Part16 pc11.2ch.net/test/read.cgi/tech/1195394435/ Part15 pc11.2ch.net/test/read.cgi/tech/1191582990/ Part14 pc11.2ch.net/test/read.cgi/tech/1184807424/ Part13 pc11.2ch.net/test/read.cgi/tech/1177499924/ Part12 pc11.2ch.net/test/read.cgi/tech/1171037394/ Part11 pc10.2ch.net/test/read.cgi/tech/1165621441/ Part10 pc8.2ch.net/test/read.cgi/tech/1158013550/ Part 9 pc8.2ch.net/test/read.cgi/tech/1146656260/ Part 8 pc8.2ch.net/test/read.cgi/tech/1137068104/ Part 7 pc8.2ch.net/test/read.cgi/tech/1122912733/ Part 6 pc8.2ch.net/test/read.cgi/tech/1109933426/
3 名前:デフォルトの名無しさん [2008/02/10(日) 15:07:51 ] ■ 過去スレ2 Part 5 pc5.2ch.net/test/read.cgi/tech/1102785854/ Part 4 pc5.2ch.net/test/read.cgi/tech/1091185216/ Part 3 pc5.2ch.net/test/read.cgi/tech/1079068715/ Part 2 f3.aaacafe.ne.jp/~null/cache/1079280501.html Part 1 pc5.2ch.net/tech/kako/1003/10036/1003674814.html
4 名前:デフォルトの名無しさん [2008/02/10(日) 15:09:00 ] ■関連スレ D言語なら俺に聞け pc11.2ch.net/test/read.cgi/tech/1108172110/ D言語を広めるスレ pc11.2ch.net/test/read.cgi/tech/1175432606/ D言語は多分コケると思っている人の数→ pc11.2ch.net/test/read.cgi/tech/1136288019/ 【次世代言語】D言語でOSを作ろう【Monaの移植?】 pc11.2ch.net/test/read.cgi/tech/1128794438/ バイナリをゲロる言語の魅力って何? pc11.2ch.net/test/read.cgi/tech/1160869311/ その他リンク 【Java/C/PHP/Perl/Ruby/Python/TeX】Eclipse M22 pc11.2ch.net/test/read.cgi/tech/1168166588/ eclipseってそんなに良いか?【エクリプス】 pc11.2ch.net/test/read.cgi/tech/1099300344/ 統合開発環境Eclipseプラグイン開発QA pc11.2ch.net/test/read.cgi/tech/1081517094/ "Code of the Nerds" Digital Mars C/C++ pc11.2ch.net/test/read.cgi/tech/1044210976/
5 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:13:29 ] >>1 乙!!
6 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:03:19 ] 乙
7 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:06:04 ] うは乙ww めちゃめちゃ補完されてるな ABA Gamesが入ってないのが不思議なくらいだ
8 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:01:50 ] >>1 芝のゲーム面白いね。俺はちょっと作れない。待つのがだめなんで。 >>7 最近はC#+XNAいってるぽい。
9 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:12:56 ] _2ch[1202623572][1].otsu
10 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:22:31 ] _2ch.write(["board_id": "tech", "thread_id": "1202623572", "content": ">>1 乙", "mail": "sage"]);
11 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 19:31:23 ] >>前スレ969 今はそんな泥臭いことしなくてもchar[]とかはscanされないよ Chamgelog: D 1.001: 型情報を使う GC 参照 www.kmonos.net/alang/d/1.0/changelog.html#new1_001 あとそのページは想像で書かれたと思しき間違いが多くてあまり当てにならない。 たとえば当時std.gc.disable()は実装が空だったので対策にならない、とかね。 GC知りたきゃソース嫁(正直ソレもどうかと思うが)
12 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:30:50 ] D言語終了のおしらせときまして、久々に飛んできました。 Microsoftは他をつぶすのは本当に得意ですね・・・ >>1 芝ゲー入れて、ABA games入れないとかどんだけwww
13 名前:デフォルトの名無しさん [2008/02/10(日) 21:59:26 ] >>11 GCは小ざかしいテクニック使わずにハンズフリーであるべきだよなあ。 C++風に完全に自分で管理するバージョンとか、 昨年のD言語フォーラムの例にあったフリーリスト使いまわし(配列のスライス返しとかで非常にうまくいくようで)とか、 いろいろあってもいいと思うけどね。
14 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:36:41 ] 必要性を感じないから誰も作ってないだけじゃないかね。 phobosのGC部分をすっかり入れ替えてしまえば、何とでもなる筈だけど。
15 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:56:47 ] ごく少数のプログラムで各自持ってきたGCが使われるだけなのと、 ほぼすべてのプログラムで処理系お仕着せGCのみ自動的に使われるのと、 どっちが現実的にマシになるか、って判断をするとして 後者を選んだのがDだ、ってことだね。 GC停止できるしmalloc類も使えるしnewのオーバーライドできるしautoもあるし、 で実用上も問題ない感じか。
16 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:05:33 ] 一時代を支えたセコイ技術をいつまでも信奉してしまうのは要素を変えながら度々繰り返されてきたことだからねぇ。
17 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:15:14 ] 2.011がまだウォルタソの脳内にとどまっているので おまいらは話題がないのですね
18 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:50:45 ] てーかD言語とDMDってをるたんが一人で開発してるの?
19 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 09:09:41 ] 芝は最近見つけたから記憶にあたらしかった。 ABAは……ごめんなさい、すっかりわすれてたorz
20 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 11:44:11 ] もうコンパイル通らないよね、たぶん。
21 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 11:52:19 ] テキストファイルから最後の50行だけを抜き出す方法で一番オーバーヘッドが少ない方法ってなんだろう。 今はstd.file.readでいったんファイルを全部読み込んで改行文字の個数を調べているが、 もう少し良い方法がないものか。
22 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:15:49 ] 全部読み込むのは明らかに無駄だろう。 少しずつ読み込んで改行数えればいい。
23 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:17:47 ] リングバッファに突っ込むとか
24 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:18:08 ] 一気に末尾まで移動して逆に辿っていくとかは?
25 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 13:24:27 ] 一行の文字数を見積もっておおよそ50行分を末尾から読み込み 足りなければどんどん前に進んでいけばおkっていうかD関係ねえwww
26 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 15:31:08 ] ところで、 version(Tango) { } else { } を、 version(!Tango) { } とか書けるようにならないかなあ。
27 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 15:40:56 ] できるならversion_notとかになりそう
28 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:35:42 ] だれか2007/02/17あたりにこのスレに貼られてた std/thread.dの修正ファイル持ってない?
29 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 19:40:02 ] >>28 ttp://f17.aaa.livedoor.jp/~labamba/?BugTrack%2F26 のバグを修正したものらしいけど、既にバグ修正終わってるよ。 ttp://d.puremagic.com/issues/show_bug.cgi?id=645 > Fixed dmd 1.023 and 2.007
30 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 21:36:26 ] >>29 ほんとだ で、ちょっといろいろテストしてみたんだが新しいバグを見つけた Thread.start()内の state = TS.RUNNING; hdl = _beginthreadex(null, cast(uint)stacksize, &threadstart, cast(void*)this, 0, &id);
31 名前:30 mailto:sage [2008/02/11(月) 21:41:42 ] 途中で送ってしまった state = TS.RUNNING; とスレッド作成の間にGCとかでpauseAll()が呼ばれると、 stateはRUNNINGなのにスレッドハンドルが入ってないためにpause()で例外が起きてデッドロックした 上記の二行を synchronized(Thread.classinfo) で保護したら大丈夫だった それとstart()のなかの synchronized (Thread.classinfo) allThreads[idx] = null; って synchronized (Thread.classinfo){ allThreads[idx] = null; nthreads--; } の間違いじゃね? あと Thread.setPriority()ってNORMALにも設定できるようにするべきだと思う
32 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:02:53 ] それ以前にWindows版の std.thread はスレッドハンドルを CloseHandle してないからな。 生成可能なスレッド数も4000までなんて制限ありそうなつくりっぽかったし。 std.thread 見て tango 使う決心した。
33 名前:32 mailto:sage [2008/02/12(火) 00:13:56 ] ソース見たら同時に実行可能なスレッド数が1024までだった。
34 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:50:05 ] >>30 29を見ると、修正パッチが投稿されるまで、をるたん11ヶ月もバグ放置してる。 こちらから修正パッチ投稿しないと、なおしてくれないのかも
35 名前:30 mailto:sage [2008/02/12(火) 00:57:35 ] あともう一個、waitでタイムアウトになったスレッドのstateがFINISHになってしまい、 GCでpauseAllが呼ばれてもそのスレッドが停止されないままGCが実行されてしまう というわけで誰か英語できる人パッチ投稿してもらえないだろうか ttp://www.csync.net/service/file/view.cgi?id=1202744810 Linuxのほうは良くわからないので弄ってない
36 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 10:06:30 ] >>35 投げてきた d.puremagic.com/issues/show_bug.cgi?id=1828
37 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 11:18:50 ] >>36 30じゃないけど、テラ乙 あといつもお世話になってます
38 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 11:36:16 ] www.asahi-net.or.jp/~cs8k-cyu/ (ABA Games) だれか貼れよw XNAいじってんだな
39 名前:30 mailto:sage [2008/02/12(火) 11:39:51 ] >>36 ありがとうございます 英語勉強しとこうλ....
40 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:46:46 ] >>39 英語って文法知ってるだけじゃ書けないよね。 さらにプログラムの話になってくると普通にはない用語とか言い回しとかあるし、どこで勉強すればいいのやら;
41 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:15:58 ] >>40 それこそ、DのニュースグループやらBugzillaやらを毎日読んでみればいいんじゃね? digitalmars.D.announce辺りなら流量もそんな多くないし、 ほとんど "すげー" とか "乙" だけみたいな短いレスが多いから、 楽に読み始められると思う。
42 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:31:19 ] インターネットで良く使われる英語の略語 kb.iu.edu/data/adkc.html Virtual Entity of Relevant Acronyms olympus.het.brown.edu/cgi-bin/info2www? (vera)Top 学校では教えてくれないバッドノウハウ英語 0xcc.net/blog/archives/cat_24.html 用語集 www.kmonos.net/alang/d/2.0/glossary.html
43 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:48:31 ] 学術論文とか技術英語のほうが単純な構文で楽なんだけどね
44 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:02:03 ] 「楽なんだけど」……続きがあるわけだ。
45 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:29:53 ] Changelogのための英文テンプレート集 d.hatena.ne.jp/pyopyopyo/20070920/p1 Using Bugzilla www.bugzilla.org/docs/2.20/html/using.html
46 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:18:59 ] phobosをどっかのレポジトリに入れてもらって みんなで気楽に修正できるようにならんかなー をるたんはコンパイラで忙しいみたいだし、 みんなでやればphobosの完成度も飛躍的に向上すると思うんだが
47 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:19:06 ] >>43 禿げ同 そっちの方が断然楽 短い口語的な英語はノリが分からなさ過ぎる
48 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:26:53 ] >>46 公式だったかは忘れた。 ttp://dsource.org/projects/phobos
49 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:29:09 ] 今のphobosはSVNで管理されてるわけだが たまにウォルターとアンドレイ以外の名前でコミットされてるよね あれのメンテナになるには直接掛け合わないといかんのかね
50 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:50:07 ] synchronized {}とsynchronized (o) {}って何が違うの?
51 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:50:18 ] >>49 48のページの Login → Register で登録して、ログインするのかな?
52 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:10:12 ] >>50 www.kmonos.net/alang/d/2.0/statement.html#SynchronizedStatement oが同じもの同士は同時実行されないんじゃないの?
53 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:18:01 ] >>50 synchronized {} == synchronized(this){}
54 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 17:37:26 ] >>53 それは間違いだろう synchronizedだけだとそのスコープ内のみ保護される
55 名前:53 mailto:sage [2008/02/12(火) 17:58:33 ] あーそうか。その通りだ。スマソ
56 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:31:46 ] >>50 ・全国で同時に一人だけ、貯金を引き出せる。 ・全国で同時に一人だけ、同じ口座番号から貯金を引き出せる。 この2つ、待ち時間がどう違うかを考える。
57 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:16:25 ] 文字列にコードを埋め込みたいんだけど、なにかいい方法ないかな? たとえば、下の1)を2)にしたい。 1) "a == ${a}, a/2 == ${a/2}" 2) format("a == %s, a/2 == %s", a, a/2)
58 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:37:13 ] CTFEで文字列を処理してmixinすればいいだけじゃないの?
59 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:28:58 ] >>57 これで良くね? 未テスト注意。 string myprint(string code){ return "format(\"" ~ code.replace("${", "\",").replace("}", ",\"") ~ "\")"; } void main(){ mixin(myprint("a == ${a}, a/2 == ${a/2}")); }
60 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:32:40 ] scopeの効能ってアクセス保護だけ?
61 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:37:12 ] いくらGCが働くと言っても80MBもメモリを使ってるのを見ると精神衛生上良くないな。 なんとかならんもんか。
62 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:48:18 ] >>60 どのscopeのことだい? 変数に指定するscopeストレージクラスなら、変数の書き換えを抑制し、 変数がスコープアウトするときに、変数の指すオブジェクトをdeleteする。 仕様上は。
63 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:53:02 ] >>61 定期的にGC走らせてやればいいんじゃないか? GUIアプリケーションならユーザの入力がないときとか。
64 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:04:53 ] >>63 fullCollect(); これを使えば良いのかな? これを処理する関数が終わったところに書いてみたけどタスクマネージャーから見てわかるような開放はしてくれなかった。
65 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:20:10 ] std.gcのなかで >>void minimize(); >>物理メモリの使用量を最小にします。 って言うの見つけた。試してないけど。
66 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:23:33 ] >>64 fullCollectの後minimizeかな。phobosのGCはこれ実装してないけど。 tangoのほうはつい数日前に実装されたっぽい。
67 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:23:53 ] >>62 回答どうもです。 scope の書きかたって scope クラス インスタンス = new クラス; で良いんですよね。 今作成中のプログラムで↑で書くと OPTLINK (R) for Win32 Release 8.00.1 Copyright (C) Digital Mars 1989-2004 All rights reserved. D:\Programs\ProgLang\D\dmd\bin\..\lib\phobos.lib(winsock) Offset 25A8BH RecordType 00C3 Error 1: Previous Definition Different : _htons@4 --- errorlevel 1 とリンカがエラーを吐きます。 ためしに今作ってみた↓だと問題なくコンパイル、リンクが出来たのですが。。。 import std.stdio; void main(){ for (int i = 0; i < 5; i++){ scope win w = new win(); w.wl("test"); } } class win{ void wl(char[] s){ writefln(s); } }
68 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:27:03 ] >>64 fullCollect()でもminimize()でも一度増えたメモリ使用量は減ってない気がするな これってこういうもんなの?それともバグか何か? >>66 と思ったら実装されてないのかよ。。。
69 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:33:16 ] >>66 うわっ 実装されてなかったのか… どおりで何も起こらないわけだ。
70 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:35:02 ] >>67 んー、それはリンカエラーだからscopeとは関係なさそうだ WS2_32.LIBリンクするのやめてみたら。
71 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:39:00 ] fullCollect()は参照されてないもののデストラクタを呼ぶ minimize()は参照されてないところのメモリを開放する って感じか。でminimize()は未実装と
72 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:42:58 ] >>70 リンクしないとプログラム動きません。。。
73 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:50:31 ] class A{ this(){ writefln("A:constructer"); } ~this(){ writefln("A:destructer"); } } void main() { scope A a = new A(); a = null; } こうするとデストラクタが呼ばれないんだけどこういうもの?
74 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:54:36 ] >>73 それずいぶん前にもここで見た気がするんだが、まだ直ってないのか
75 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:55:53 ] >>73 そういうもの。スコープの最後でdestructorを呼ぶから。
76 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:01:57 ] >>74 コードが不正だって結論じゃなかったっけ……と思ったけど > scope への初期化以外の代入も禁じられています。 > Rationale: これらの制限は、 もっともな理由が見つかれば将来的には緩和されるかもしれません。 なんて書いてあるな。緩和された? ……これは緩和せんでもいいような。
77 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:04:21 ] >>75 スコープの外れた時点で入ってるもののデストラクタを呼ぶってのはわかるんだけども、 scope A a = new A(); って感じに変数宣言と同時に代入したもののデストラクタが二度と呼ばれなくなるっぽい scope A a; a = new A("a"); a = new A("b"); こんな感じにわけると"b"の方のデストラクタがスコープ外れたときに呼ばれて ""
78 名前:77 mailto:sage [2008/02/13(水) 01:05:57 ] 途中で送ってしもうた scope A a; a = new A("a"); a = new A("b"); こんな感じにわけると"b"の方のデストラクタがスコープ外れたときに呼ばれて "a"のほうはプログラム終了時にちゃんとデストラクタが呼ばれた
79 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:07:14 ] >>75 a = null; を無くすと、デストラクタが呼ばれるんだが・・・。
80 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:08:40 ] >>76 なるほど そしたらコンパイルエラー出してくれればいいのにな
81 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:10:54 ] >>79 ?
82 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:16:27 ] デストラクタが呼ばれないことがあるのはきついな。
83 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:26:27 ] どう考えてもコンパイラのバグだろ。
84 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:49:03 ] >>76 緩和されてなくて、scope変数の中身を変えるコードの時点で未定義動作だろね。 エラーが出ないのは前からなんだけど、scopeはfinal扱いにすりゃいいんじゃないかと思う。 …って、もしかして変数宣言のfinal属性って仕様は消滅してる? constな伝播性のない定数的扱いで使いがありそうだったのに。 どっかで話があった、「宣言時やコンストラクタ以降でも構わない、 一度だけ代入する変数」って概念を与える属性として復活してくれりゃいいなあ。
85 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:51:50 ] finalはなかった事になりました。
86 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:38:51 ] finalは最初からなかったです
87 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:41:57 ] finalは生きてるよ、enumの心の中で。
88 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:42:15 ] え?いつの間に final なくなったの? それ2.0の話?
89 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:57:09 ] TangoのConduitsの辺りを読んでみようと思って久しぶりにマニュアル見てみたら ttp://www.dsource.org/projects/tango/wiki/Manual これ分散コンピューティング用のライブラリか? ttp://www.dsource.org/projects/tango/wiki/ChapterClustering なんかすっげーのを入れる気なんだな
90 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 08:21:30 ] まじか
91 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:51:47 ] >>71 phobosには実装されないんでしょうか…。
92 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:02:14 ] なんかphobosの整備はをるたんの中で優先度最低っぽいから……
93 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:35:56 ] TangoがDの命名規約守ってくれればをるたんもTango任すんじゃないのかなあ
94 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:36:47 ] std.randomがクラスじゃなくて構造体で実装されてるのはなんで?
95 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:38:45 ] 値型で十分だからじゃないかな
96 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:39:06 ] 軽いからでしょ。
97 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:51:12 ] 早いw いや、十分だし実際値型で実装できてるんだけども。 UniformDistributionとかで使うから各エンジンのインターフェースは揃えてるわけで、こういうのって継承でやるのが普通だよね? まあ軽いのかもしれないが、わざわざ値型を選択する理由になるのかなーとか思っていた。結構違うもんなのかね。サンクス。
98 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:52:23 ] 乱数は速度が要求される事もあるし、 仮想関数の呼び出しコストを嫌ったんじゃね。
99 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:01:52 ] たかだか関数一つでクラス化されたら、使うのが面倒くさくなる。。。
100 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:39:27 ] 面倒くささは一緒だろう。
101 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:18:56 ] 構造体にインターフェースを適用させようぜ的な話があった気がするんだけど、どこで沸いた話だっけ。