蜂鳥の一滴《1》モジュールの構成管理

蜂鳥の一滴:Jun for Python への道記事一覧
《1滴目》 モジュールの構成管理

《著》小粒ちゃん、滴《監修》小泉ひよ子とタマゴ倶楽部
♪2009/04/20

■ 概要

モジュールの構成管理を考えると、カテゴリー/クラスに着目して…

■ 関連記事

モジュールの構成管理

Python モジュールの構成管理を考えると、
Smalltalk のような統合開発環境が整備されていないので、
やはり、ファイルシステムの管理下に委ねるしかありません。


... zap ...
そこで、カテゴリー/クラスという関係に着目して、

Jun-Goodies-Display/JunDisplayModel.st
Jun-OpenGL-Display/JunOpenGLDisplayModel.st

カテゴリー名に含まれる「-」ごとに階層化してみました。

Jun
+-- Goodies
    +-- Display
        +-- JunDisplayModel.py
+-- OpenGL
    +-- Display
        +-- JunOpenGLDisplayModel.py

テストケースを複数モジュールに分割しても動作する…
それだけを確認するのに、かなり手間を取られてしまいました。


... zap ...
Workspace を用意するまでの暫定措置として、
コンソールからコマンドを入力しては、
対話モード -i で examples の動作を確認しています。

$ python2.5 -i JunDisplayModel.py    # $ コマンド
>>> JunDisplayModel.example5(3+4)    # >>> 対話モード 
... _open: 7
... _label: int
... display:
... drawString: 7 -1 0.8
('\x1b', 75, 48)                     # ... ログ情報
 # int 型
$ python2.5 -i JunDisplayModel.py 
>>> JunDisplayModel.example5("Yes, we can! ... (^^)v")
... _open: Yes, we can! ... (^^)v
... _label: str
... display:
... drawString: Yes, we can! ... (^^)v -1 0.8
('\x1b', 116, 57)
 # str 型

対象とするオブジェクト X を認識して、
ウィンドウのタイトル部には、そのクラスの名前 X.__class__.__name__ が、
ウィンドウの内部には、それに固有の形式で表示されます。


... zap ...
今のところ、目指しているのは、
画像データ(Bitmap などの)ならそのままに、
それ以外は displayString 相当 X.__str__() を表示させています。


ちなみに「7」とあるのも、
OpenGL/GLUT/glutBitmapCharacter を利用して、
bitmap charactor として表示(暫定版)しています。(^^)
後に、テキスト領域を確保して、そこに表示させる予定です。

■ 次の一歩は…

次は、画像データを表示できるようにしたいものです。

$ python2.5 -i glutDisplayFunc.py -s3
('\x1b', 139, 21)
 # PyOpenGL 版

Todo:

examples と見かけ上は同じ動きをするものの、
内部の造りは、張り子の虎を何匹も連ねた感じです。
一匹ずつ「本物」に替えながら「蜂鳥の一滴」の心境です。


... zap ...
各駅停車の旅で、京都への上洛の道すがら、
車窓から気に入った風景を見掛けたら途中下車して、
そこまで歩いて戻ってから、また、次の列車に乗り込む…

そんな、もしもし亀さん/牛歩モードで歩き始めたところです。
まだ、藤沢駅のホーム端から少し乗り出した…という感じですね。

Last updated♪09/04/26