[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:001219] DCL toolbox
堀之内です。
DCL を用いた描画に関する提案です。
一般に、カラー塗り分け(トーン)の図を書く場合、カラーレベルを表す
カラーバーをつけますが、DCLには含まれてませんよね。そこで、カラー
バーを書くためにはまずそのための関数(メソッド)を書くことになりま
す。このような描画に関する基本的な機能を実現した関数は、ある程度
皆で共有できる筈です。そこで、
DCLの応用描画メソッドを集めたツールボックスを作りませんか
というのが提案です。どういう形で集めればいいかとか、どの程度仕様
を共通化すべきかということは、考えどころですが、とりあえずは、
「こんなん作りましたので皆さん良ければお使い下さい」といった感じ
で提供して貰ったものを集めればいいでしょう。このため、電脳サーバー
(dennou-t.gfd-dennou.org)に
/GFD_Dennou_Club/ftp/arch/ruby/products/dcl-toolbox
というディレクトリーを作りましたので、アカウントのある方(かつ
Rubyグループに入ってる方)は、勝手に置いて下さって結構です。ここ
は URL 的には ruby.gfd-dennou.org/products/dcl-toolbox/ として見
えます。中身はまだ空です。権限のない方はこの ML に流して貰えれば
なんとかします。
ところで
林様、塩谷様:
Ruby グループには誰が入ってるいるのかを調べるにはどうすればいい
のでしょうか。西澤君が入ってなければ入れて欲しいのですが。
(林様、塩谷様宛終り)
さて、上記のように当面勝手に持ち寄るとしたのですが、ある程度使い
勝手や汎用性が確保できたら嬉しいですので、持ち寄られたプログラム
の改良の提案も歓迎します。あと、若干思いついたこと。
* カラーバーのように、レイアウトに関し沢山自由度があるものは、
オプション引数で制御できるようにするといいと思います。イメー
ジを呼出しの例で書くとこんな感じ:
DCLTool.color_bar( levels, colors, {'vx0'=>0.1, 'vxwidth'=>0.8,
'landscape'=>true} )
オプションは、指定しない場合デフォルト値が使われるようにします。
ちなみに私はまだ Ruby ではカラーバーを書いてませんので、どな
たか、作ったら出してください。西澤君、既に作ってたりしません?
私は IDL では自作のを使ってますが、オプション引数としては他
に、文字のラベリングに関するもの等があります。
* 一つの機能は一つのファイル内に収まる(複数のファイルにまたが
らない)のが、使い勝手が良くていいでしょう。一つのファイルに
複数の機能が入っているのは勿論OKです。
* 恐らく出来たメソッドはモジュールに入れるのが収まりがいいと思
うが、モジュール名はどうすべきかは議論の対象になります。上の
例では DCLTool となってます。まずは作った人が勝手にモジュー
ルを作り、ある程度認知されてきたら、共通の枠組み(DCLTool
といった名前にする)に取り込むのがいいように思います。このため、
各自が作る際には、とりあえず DCLTool という名前を使わないよう
にして頂くといいでしょうか。
皆さん、整理の仕方&ネーミングポリシーはどうすればいいと思い
ますか。ごとけんさん、何かありません?
* DCLTool にしろ独自モジュールにしろ、すべては(RubyDCL同様に)
NumRu 傘下に入るべきです。つまり、上の例では
module NumRu
module DCLTool
def color_bar(levels, colors, options)
...
となる。
(余談ですが、本物のキーワード引数でない Hash による疑似キー
ワード引数は、関数定義を見てもどんなオプションがあるかが分
からないのが問題ですね)
堀之内 武 horinout@xxxxxx
京都大学宙空電波科学研究センター 611-0011 宇治市五ヶ庄