- 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)
- 267 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:34:51 ]
- ソースがXMLになると想像しただけで御免蒙りたい
- 268 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:37:55 ]
- 前も書いたけど、契約ってのは宣言や定義に密着してるべきだと思うんだよね。
bool nonNull(T)(T that) { return that !is null; } bool lessThan(T)(T that, T x) { return that < x; } Class get(Class[] items @nonNull, size_t index @lessThan(items.length)) @nonNull { return items[index]; } これが、 Class get(Class[] items, size_t index) in { assert(items !is null); assert(index < items.length); } out(o) { assert(o !is null); } body { return items[index]; }
- 269 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:43:50 ]
- それで制約関数に
/// nullでない /// $(var x) より小さい とかコメントとつけとくと、IDEがこんな感じで表示してくれるの。 Class get(Class[] items, size_t index) items: 〜 制約: nullでない index: 〜 制約: items.length より小さい 戻り値: 〜 制約: nullでない
- 270 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:57:05 ]
- なんかMicrosoftがD言語作るんだって
- 271 名前:デフォルトの名無しさん [2008/02/21(木) 20:58:48 ]
- >>270
もうそれは既に何度も書き込まれた情報。
- 272 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:24:47 ]
- これ、塗るでない
- 273 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 21:35:48 ]
- では煮るぞ
- 274 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:23:57 ]
- >>267
現状と比べて、ソースがXMLになるという意味が分からんね。 ソースやコメント記法自体は変わらんわけだし、そこからの ドキュメント生成ってのもなにか目新しい話じゃないし…? >>268 indexとitemsの間に成り立つ条件のはずが indexの条件になっちゃってることに違和感が void nonNull(T)(T o){ assert(o is null); } /// Contract: $(B $0) は null でない Class get(Class[] items, size_t index) in(items) : nonNull in(index, items){ assert(index < items.length); } /// Contract: $(B $0) は $(B $1).length より小さい out(o) : nonNull out(items){ ...itemsに関わる条件... } /// ...Contractセクション... body{ return items[index]; } とかそんな感じの方が好みだなあ。
- 275 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:34:50 ]
- >>274 (>>267)
瑛太:「僕にはなんか、わかりますけどねぇ」
- 276 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:31:32 ]
- >>268-269
ドキュメンテーションコメントに結びつけたほうが見やすくない? 特定のセクションをコンパイラが展開してくれるとかで。ついでにBehaviorとか追加してみたり。 /** * Params: * items = * 取得するClassオブジェクトのリスト。 * Contracts: nonNull * index = * Contracts: lessThan(items.length) * Returns: * Contracts: nonNull * Behavior: 基本的な動作サンプル * Class[] items = [new Class("alice"), new Class("bob")]; * assert(get(items, 1).name == "bob"); */ Class get(Class[] items, size_t index){ return items[index]; } あとIDEのエディタでコードを表示するとき、ドキュメンテーションコメントの部分は その場でフォーマットされて表示されても良くね?と思った。こんな風に。 ---------------------------------------------- | Class get(Class[] items, size_t index) | items: 〜 | 制約: nullでない | (略) |編集| ---------------------------------------------- Class get(Class[] items, size_t index){ return items[index]; } 編集ボタン押すとソース表示に切り替わるの。
- 277 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:27:30 ]
- コメントが実行されるってのは違和感ありまくり
- 278 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:28:11 ]
- interfaceとかabstractのメソッドに契約付けることって、ひょっとして出来ない?
- 279 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:29:10 ]
- ドキュメント化コメントってのは自然言語な説明を書く部分だと思ってるからなんか違う気がする。
動作そのものを左右する契約はコード本体に書いてあるべきだよ。
- 280 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:33:18 ]
- >>278
仕様では、bodyを持たない関数には契約つけれない。 抽象関数でもbodyがあれば契約はかける。
- 281 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:17:33 ]
- そんな契約、Mayerが見たら悶絶しちまうなwww
- 282 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 08:40:15 ]
- さっきちょっと複雑なmixin組んできたけど、コンパイル時実行可能ってのは難しいな。
なんかもうmixinの制限ありで書くより、自動生成プログラム一つ組んで走らせた方が早いんじゃないかと思えてきた。 動的配列作れないとか、添え字に変数使えないとかが厳しい。
- 283 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:18:00 ]
- >277, >279
Pythonの標準ライブラリにはユニットテスト用モジュールがいくつかあるんだが、 その中のdoctestという奴では、テスト内容をコメント部分に書くようになってる。 簡単なテストを書きたい場面ではよく使われてるよ。ご参考まで。 でもまあDではin/out/bodyとか用意されてるから、 そっちを素直に使う方がいいとは思うね。
- 284 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:08:11 ]
- >>280
ありがとう。残念だ。
- 285 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 15:33:52 ]
- >>272
if( this !is null ) {}
- 286 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 17:38:57 ]
- 変数の型を調べるにはどうすれば良いんでしょうか。
- 287 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 18:15:06 ]
- typeofとかis式とか
- 288 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 19:05:30 ]
- 可変個引数関数で受け取った引数をそのまま別の可変個引数関数に渡すってできない?
- 289 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 19:30:41 ]
- 可変長タプルつかうのじゃあかんの。
それか、_argptrと_argumentsを引数に取るオーバーロードを用意するか。
- 290 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 19:39:51 ]
- asmでスタックコピーする
- 291 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 20:04:42 ]
- >>290
asmまでいかなくても出来るんじゃないか?メモリ確保して、コピーするだけだし。
- 292 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 20:07:21 ]
- >>291
それをコールフレーム上でできるのか?
- 293 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 20:07:30 ]
- シングルスレッドで再帰なしなら何とかなりそうだが、
再帰やマルチスレッドだと死亡しそうだな。 メモリ確保するにしても、その確保したアドレスを保持するポインタが必要だし。 静的な領域に複数のポインタの置き場所を作って 何とかやりくりすればましにはなるだろうが。
- 294 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 20:12:41 ]
- あーそうか、_argptrは簡単にごまかせるが、_argmentsは難しいな。
Cの可変個引数関数の事考えてた。
- 295 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 20:26:40 ]
- その関数の中で何もしていなければ、
jmp するだけでおk。 asm なら。
- 296 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 21:45:57 ]
- >>288
www.kmonos.net/alang/d/2.0/variadic-function-templates.html あたりを参考に、 void func(T...)(T arg){ func2(arg); } とか。
- 297 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 23:52:10 ]
- >>298
タプルって可変個引数関数にそのまま渡せるんだな。知らんかった。 テンプレートってすごいけど、使いこなせない。
- 298 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 01:19:49 ]
- D言語始めようと思うんですが何から始めればいいんでしょうか。
一応ヨガ教室には一とおり通いました。
- 299 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:22:26 ]
- あとは腹筋200回とスクワット500回と走り込み50m20回をそれぞれ3セットずつ1ヶ月続けて基礎体力を身につけないと。
- 300 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:24:26 ]
- とりあえずブリンカーを何処かで調達してきて
話はそれからだ
- 301 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:25:24 ]
- ビリーズブートキャンプおすすめ
- 302 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 06:45:34 ]
- D言語本格的に使ってるやつって日本に10人もいなそうだな
- 303 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 07:07:27 ]
- 本格的って言葉の定義が微妙だな。
学生で趣味のプログラミングでDに惚れ込んだ俺はどうなるw
- 304 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 07:21:06 ]
- ノーカウント
- 305 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 07:30:53 ]
- orz
- 306 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 07:55:34 ]
- 趣味が高じて卒業論文にD言語コード載せちゃいましたって俺は?
- 307 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 07:57:31 ]
- 卒論のtoy program程度じゃ
ノーカウント
- 308 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 10:43:30 ]
- BOFで発言する方々で10人にはなるのではなかろうか
- 309 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:31:07 ]
- D言語 孤高の10人
- 310 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:58:37 ]
- 今の時期Dを"本格的に"使うのって心中と近い意味になりそうで怖くないか。
ホビープログラマが遊びつつ、バグや要望を出していく段階だと思うが。
- 311 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:09:34 ]
- >>310
少なくとも客を納得させるのは難しいな。
- 312 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:12:30 ]
- Dで作ったプログラムを納品したあの人は10人のうちに入るわけだ
- 313 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:41:50 ]
- ところでふと思ったんだが、
foreach(i; 0 .. 100) { switch(i) { case 42: break foreach; // !!! default: writeln(i); } } とか書けたら便利じゃね。
- 314 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:44:36 ]
- 構造変わった時にヤバいかもしれない。
例えば foreach の2重ループの中にそう書いてあって、 中の foreach を for に変更したくなった時とか。 現状のラベル付きの方がいいんじゃないかな。
- 315 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:47:44 ]
- そうか。確かに。バグを誘発しやすいかも知れない
- 316 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:53:46 ]
- たしかVBってその書き方できたよね。
昔はFORとNEXTの対応があってなくてもよかったBASIC処理系あってカオスだったけど。
- 317 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:59:03 ]
- >>316
つーか、大抵の処理系ではNEXTの変数は省略可だったような。
- 318 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:22:40 ]
- >>313
Javaかなんかで多段breakできなかったっけ。 >>316 学生時代につかってたポケコンがそんな感じで、 if i>0 than for j=0 to 100 -hogehoge- if i<0 than next てな感じで、C系ではできないforの宣言ができたりしてた。next を最初に見つけるととまるんだよなぁ。 なつかしい。
- 319 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:53:18 ]
- >>318
thanじゃなくてthenな。
- 320 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:47:51 ]
- >>317
いや >>316 が言ってるのは for i = 0 to 10 if hoge then next next とか書けたという意味かと
- 321 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:55:10 ]
- gosubで呼ばれた先にnextがあったらどこに戻るんだろうか
- 322 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:23:16 ]
- >>321
普通にエラーだったような。
- 323 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:40:42 ]
- >>310
asm C C++とどっぷりつかってた。 んで、D言語であそんでたくちだが、C#がすんなり使えた。 D言語しかつかわないようにするわけでは無い。 「現代的な言語」(プログラミング言語Dより引用)にふれることは そう無駄じゃないと思う。
- 324 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:00:22 ]
- >>323
Dを本格的に使う、という話からだいぶ横滑りしてるかと。 というか、それは最初からC#とか使ったほうがいいんじゃね? 向こうのが開発環境も充実してるし、現代的な言語に触れるって目的なら各種スクリプトも手軽…… ……なんか悲しくなってきた。でもDが好きだよ、俺。
- 325 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:34:09 ]
- >>324
> ……なんか悲しくなってきた。でもDが好きだよ、俺。 好きならイイジャマイカ
- 326 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:44:24 ]
- Dの設計思想に触れる事によって、どういった機能が他の言語に欠けてるか、あれば便利か、要らないかといったことも知ることが出来るわけで。
まあ他にもインスピレーションを得るために、変わった環境に触れていくのは悪いことではないかと。 今のところDってそういう位置付けでもいいと思う。言語の成長とともに使う側も成長していける言語みたいな。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 23:43:23 ]
- でもほかの言語と比べてもメリットいっぱいあるとおもうけど……
C#(.net系全部)はネイティブはけないし、Javaは遅いし、C++は汚いし…… 趣味にはぴったりジャマイカ。コードと仕様が美しいし(C++と比べて) まぁぶっちゃけC#が高速で起動するネィティブ吐き出したら勝てないと思うが。
- 328 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 00:17:04 ]
- >ネイティブ
つngen
- 329 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 02:50:17 ]
- でもngenって各ユーザが実行しないといけないやつだよね。たしか。
開発者側でネイティブ吐きたいよな。
- 330 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 03:04:35 ]
- >>328
C#で作ったソフトの起動が遅すぎるんだが俺の何かがまずいのか? ngen使っても起動時間は長いんだが Dで作ったソフトは軽快だから好きだ!
- 331 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 03:36:51 ]
- D言語で積み木シューティングってゲーム作ってるやついたよな
あれくらい使いこなせてるんなら本格的っていえるか
- 332 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 05:04:39 ]
- >>331
TUMIKI Fighters は ABA さん ちなみに Wii でゲーム化されるほど ttp://www.gamespark.jp/modules/news/index.php?p=2808
- 333 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 06:05:33 ]
- でもDは基本ゴッタ煮だから言語設計の勉強には向かないと思われ
- 334 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 06:52:44 ]
- >>328
ngen使っても遅いのがちょっと速くなるくらいであまり変わらんよ。
- 335 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 06:59:18 ]
- ABA始まったな
- 336 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 07:06:08 ]
- 次はまさしくんハイ!だな
まあ冗談だがWiiの操作性には割とマッチすると思わなくもない
- 337 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:18:37 ]
- 関数の中のswitch文の中でreturnを使った場合はその後にbreakはいらないよね?
- 338 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:24:38 ]
- プログラムの動作上はなくても問題ない。
保守・改変まで考慮する場合(それがよい習慣か否かとか)は話が別だけど。
- 339 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:39:48 ]
- ふと思った
関数にデストラクタ機能欲しくね? quitでユーザー定義なデストラクタへ抜けてreturnでdefaultなデストラクタへ処理を渡す。
- 340 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:41:56 ]
- デストラクタ作るなら return したら常に呼ばれるべきだと思うが。
- 341 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:45:02 ]
- goto と同じ問題が発生するな。
変数の初期化を飛び越える事ができない。 解決するにはコンストラクタと称して デストラクタで使用可能な変数を宣言する場所が必要になるな。
- 342 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:52:19 ]
- scopeじゃいかんの?
- 343 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:54:51 ]
- scope(exit) か。
- 344 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:12:38 ]
- >>335
ABAはもうD使ってないよ
- 345 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:13:17 ]
- >>339
撒き戻しとか後片付けならスコープガードや例外を使えばいいと思うよ。
- 346 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:52:28 ]
- >328
ngen使っても完全なネイティブじゃないでしょ。それに.net frameworkで動くからやっぱり遅い(初期起動が特に) 趣味で作る小さなプログラム起動するのに時間かかってたら腹が立つ。Office大きいものならば許せるが。その点Dは高速だし好きだ。IDEさえ何とかなれば……orz
- 347 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:19:16 ]
- 例外ってロジック的になんか美しくないじゃん
- 348 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:21:47 ]
- 普通にtry{} finally{}で何の問題があるんだろう…
- 349 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:00:32 ]
- 処理のフローが、各関数の呼び出し関係から暗黙に決まる、
ってのが美しくないところだと思う。 関数を合成して処理を作ること、処理を連結してフローを作ること、 これはそれぞれ別のまとまりとして定義されないと、処理フローが ぐちゃぐちゃになると思うよ。
- 350 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:16:09 ]
- tryはDだとWinMain内部でしか使ったことが無いや。
- 351 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:02:44 ]
- D言語BOF
日程:3月1日(土) 10:15 - 12:00 開始時間が変わりました 時間変更に伴い、以前登録された方も前半/後半を個別に登録してください f17.aaa.livedoor.jp/~labamba/?D%B8%C0%B8%ECBOF
- 352 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 19:57:23 ]
- >>310
俺もそう思ってたけどBOFのBillさんとか本気でつかってるぽい まあ研究職だからできるのかもしれんが
- 353 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 20:04:33 ]
- >>222
伝えるだけなら ココで出たバグ報告をnewsにポストする人と手間はかわらん しかしその後の議論についていきつつ説得するのは正直めんどい あと >>214 はあまり集まらないので没りそう
- 354 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:33:32 ]
- scope 関連は記述もわかりやすくなるし、
try ~ finally と違ってネストが深くならないしでかなり好きだ
- 355 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:37:42 ]
- たった一段のネストがそんなに気になるのかなあ?
- 356 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:57:49 ]
- 印刷することを前提に、80桁以上にならないように注意すると
途端に一段のネストが憎たらしくなるよ。
- 357 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:20:15 ]
- ネストが深くなりすぎるプログラムはダメなプログラム。
- 358 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:20:23 ]
- finallyとかscopeは、ドキュメントいわく
「実行される箇所ではなくそれが概念的に属する場所に配置されている」 というのがいい点だが、概念的にスコープに属している実行保障を わざわざtryブロックに付け替えるのは分かりにくくなる原因だよなと思う。
- 359 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:57:43 ]
- デバッグ用じゃないin、out、bodyみたいなのがあればいい感じ?
- 360 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 06:28:56 ]
- そろそろCLOSからbefore/afterをパクるのもいいな
- 361 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:38:36 ]
- void hoge()
in { } out { } before { } after { } body { } 上から読むとなかなかbodyにたどり着けないな
- 362 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:14:01 ]
- 361みたいにするのは358な理由で分かりにくくなるだけじゃね?
- 363 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:43:09 ]
- >>354
自分は基本的にタブ8でインデント + 80桁でコーディングしてるのですごく気になる。 あと、 step1(); scope (failure) step1_end(); /* なんか処理 */ step2(); scope (exit) step2_end(); こんな感じのを try~finally で書くと鬱にならないか?
- 364 名前:363 mailto:sage [2008/02/25(月) 16:43:40 ]
- ミスった。>>355 ね。
- 365 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:26:47 ]
- >>363
それ、いわゆるtry…catch…finallyなパターンじゃない?
- 366 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:49:01 ]
- DMDがコンパイル中にエラーで落ちるのは良くあること?
- 367 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:32:55 ]
- なんのエラーだ
|

|