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

[dennou-ruby:000106] Re: NMDArray revised



In message "[dennou-ruby:000104] NMDArray revised"
    on 99/10/04, Takeshi Horinouchi <horinout@xxxxxx> writes:

>すが、これは以前話題になった各要素毎の操作の実装例ですので、報告し
>ておきます。今は ruby だけで閉じてますが、これをそっくり C の関
>数で置き換えられれば、要素毎にオブジェクトを作ることなしにユーザー
>が指定したきめ細かな要素毎演算を行えるということになるかもしれま
>せん --- って辛いですか?(ブロックを自前パースしない限り無理?)

こういう書き方自体の善し悪しは判断しないといけませんが、ブロッ
クの中身をある程度制限すればパーズするのもそれほど難しくはな
いでしょう。要はメソッドとCの関数の間で対応とれるかどうかです。

>未解決の問題は複数のオブジェクトに演算を適用することです。どいう
>いうことか例をあげると、fortran90 で a, b という同じ形の配列があっ
>たとして
>
>   where(a>0)
>     a=a*b
>   endwhere

意味がわからないのですが、これって、a,b が配列だとするとRubyでは

c = []
a.each_indeces{|i| c[i] = a[i] * b[i] if a[i] > 0}
a = c

みたいな感じですか??

-- gotoken