[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002373] Re: VArray
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002373] Re: VArray
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 26 Jul 2005 21:24:49 +0900
堀之内です。
> たぶん以下がやりたいことを実現するもっとも短い方法でしょう.
> (だって中身は1行)
> 
> require "numru/gphys"
> module NumRu
>   class GPhys
>     def bar(dim)
>       self[ *( [true]*dim+[1..-1,false] ) ] +
>       self[ *( [true]*dim+[0..-2,false] ) ] / 2.0
>     end
>   end
> end
しまった.これだと軸の位置が中間にきませんね.以下でどうでしょう 
    def bar(dim)
      newgp = self[ *( [true]*dim+[1..-1,false] ) ] +
              self[ *( [true]*dim+[0..-2,false] ) ] / 2.0
      vax = self.axis(dim).pos
      newgp.axis(dim).set_pos( vax[1..-1]+vax[0..-2] / 2.0 )
      newgp
    end
4行になってしまいました.
# VArray でなく Axis クラスに4則演算が欲しくなってきた...