[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002303] Re: Ruby-ISPACK 作成中



北村です.

ただし,作業配列の長さは関数によって違い得ます.よって手持ちの作
業配列の長さが足りない場合は,より長くするといった工夫が要るで しょ
う.private method 化するといいのでは?


   def _alloc_wkfft( length )
     if !@wkfft || @wkfft.length < length
    @wkfft = NArray.float( length )
     end
   end
   private _alloc_wkfft

これは,initialize 内でも使えます.

ざっとみてみると,長さだけではなくて複数の作業配列が必要となる場 合も
あるようです.利用者が常にそのような関数を呼び出すとは限らないの で,
上のようにできれば,initializeでは配列の長さが0のイ ンスタンス変数を必要
となる可能性のある分だけ作っておくのが効率的な気がします.


この前の例だと,ispackにないもの(空間微分)を N2Packクラスに入れてしまっ
たり,メソッド名を変えてしまったりしているのが混乱のもとになった ように
思います.まずは,メソッドの名前をそろえてispackと1対 1対応のラッパーを
作っておいて,spmlのような拡張はそれから考えるのが見通しが 良さそうです.


時間がとれれば,少しはお手伝いできると思います.

---- yuji kitamura