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

[dennou-ruby:001876] Re: alias put for GPhys



塚原さま

堀之内です。

alias を

require "numru/gphys"
というか
require "numru/ggraph"
の前にすればうまく行きませんか。

aliasは名前ベースというよりは、関数のポインターベースのようなものだと
思ってください。gphys の中で alias した時点で何を呼ぶかが確定し、しかも
それがバッファリングを考慮した特異メソッドになっているため、
後から変更できません。

> 塚原です. GPhys 内部の put の挙動を alias を用いて変更したいのですが
> 上手くいきません. 具体的には, signature 下方に記述したプログラム
> (testalias.rb) を実行すると, GPhys::IO.write 中で呼んでいる get は
> aliasしたメソッドが呼ばれるのですが put についてはなぜか alias が張れ
> てない or 別のメソッドを GPhys 内部で上書き alias しているようです(test1).
> 
> 一方, NetCDF::put を直接呼び出している部分は正しく alias されているよ
> うです(test2). お手数ですが, 確認いただけないでしょうか? テストに使用
> した nc ファイルは適当なもので大丈夫です. GPhys オブジェクトとして読み
> 込んで, 1.1 倍したものをファイルに保存するだけ.