ひとモノBLOG

05 « 2017 / 06 » 07
Sun Mon Tue Wed Thu Fri Sat
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
profile
SHOO
  • SHOO
  • 機械系の学生。の割にプログラミングとかのほうが得意だったり。
  • RSS
links
BLOG内検索
Adds by DTI Blog

UML…なるほどUML
2008/02/24(日) [00:55:49]

UMLの意義に気付き始めました。 あとDescentの挙動がちょっとおかしいことについて。 続きは以下から。

UMLの意義

最近UMLの存在意義について理解し始めた。
複雑になればなるほど頭の整理が追い付かなくなって設計図がほしくなる。
ちょっと詳しくUMLの勉強でもしてみるかな…

Descent のオートコンプリート

Descent を使い始めて割と経ちました。 そろそろ挙動とかが理解でき始めてきた感じ。
Eclipse 3.4(Pleiadesによる日本語化)で動作してます。 VistaだとEclipse 3.3とかの表示とかが著しくおかしくなる部分が見られたので…
オートコンプリートが使える時と使えない時があるので、何でだろうと思って観察したところ、次のようなことがわかってきました。
  • メンバ変数のオートコンプリートはほぼ確実に動作。
  • ローカル変数のオートコンプリートはたまに動作不良。

ということで、これをもとにいろいろ調べてみた結果が以下です。 環境は、 Windows Vista, Eclipse 3.4, Descent 5.1.0.20080206です。
  • auto x = Environment.exePath("dmd.exe"); 上記のように auto や scope などの型推論を用いて定義した変数はオートコンプリートが誤作動し、 int 型として判定される。
  • FilePath x = new FilePath; のように型をしっかり示すと正常動作する
  • alias FilePath FP;
    FP x = Environment.exePath("dmd.exe");
    のような感じで、 alias を利用した場合もオートコンプリートが正常動作する
  • typedef FilePath FP;
    FP x = cast(FP)Environment.exePath("dmd.exe");
    のような感じで、 typedef を利用した場合はオートコンプリートは一切動作しない
  • import 以外でのパッケージ名の入力の際にはオートコンプリートは動作しない。
    ただし、以下の場合はなぜか動作する alias tango.core.Thread まで入力して"."を打ち込むと Thread, Fiber, ThreadGroup, ThreadLocal!(T) が表示され、正常動作する
  • しかし、次の場合まで入力し、 "." を打った場合は動作しない alias tango.core.Thread mod_thread;
    alias mod_thread
  • さらにつづけて alias tango.core.Thread mod_thread;
    alias mod_thread.Thread cthread;
    cthread x = new cthread(&func);
    ここまで入力すると変数 x についてのオートコンプリートは正常に動作する
とりあえずここまで。 感想としては auto とか scope とかで動作しないのは意外だな、と。 利用頻度の高い言語仕様なだけに実に惜しい
あと、この情報は完全に正しいとは限りません。 いろいろやってみた感じそう感じただけです。 もちろん今後のアップデートで改善される可能性も十分にあります。


rel="prev"<<Tangoのtrunkおもしれー | ホーム |

この記事に対するトラックバック

この記事のトラックバックURL

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する
| HOME |