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

[dennou-ruby:003778] Re: gpview ½¤Àµ & ²þ¤



堀之内様:

すみません。混乱してしまったので、確認させてください。

私としては、gpviewのレベルでの変数ワイルドカード対応で満足するつもりだったのですが、
堀之内さんの意図としては、GPhys::IO.open (かそれより深いところ) のレベルで対応すべし、
ということでしょうか?


昨日お送りしたコード(パッチ)はgpview に data.nc@* と与えられたときに(data.nc にはU, V, Tがあるとして)、
gpview data.nc@U data.nc@V data.nc@T
とgpviewが複数のgturl を受け取っているかのように解釈するようにしたものでした。

樫村

> 2014/11/19 23:33、Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx> のメール:
> 
> 堀之内です。
> 
>> ファイル名のワイルドカードのほうは複数ファイルにまたがった
>> 一オブジェクトを指すようになってることとの整合性をどうつけるかが
>> 考えどころですね。こうなると,各ファイルそれぞれに収録された別々の
>> オブジェクトにも対応したいでしょう。
> 
> この点についてですが,「よきに計らう」案として,
> ワイルドカード自体は共通として,もしもくっつけて
> 一つのオブジェクトとして開けるのであればそのようにし,
> それができなければ複数オブジェクトとして開くという
> ふうにしてもいいかもしれません。
> 
> そのためには,「くっつけられない」ことが一発で判断できると嬉しい
> わけですが,確かめてみたところ現状の GPhys#join では格子が完全に重
> なる場合にエラーを出さないという問題があることがわかりました
> (重複が勝手に無視される)。
> 上記のようにするかどうかはともかく,この場合はエラーを出す
> べきだと思うので,そう直しました。
> --- とりあえず Git の本尊に push されたときにメールを送る宛先と
> して樫村さんを加えたので,メールが届いてるかと思います。
> 
> これをベースにすると,実装は簡単なはずです。つまり,
> 
>>> もしもくっつけて一つのオブジェクトとして開け
> 
> ないときは,例外が上がるので,それを rescue して複数オブジェクト
> としてのオープンすを試みるという風に実装できます。
> 
> 
> 
>> 堀之内です。
>> 
>>> # 私は入ってる変数を順々に眺めたいときもあるのですが…
>> 
>> なるほど,gturl の仕様として,ワイルドカードで複数オブジェクトを
>> 指せるようにしたいということですね。url という表現とのミスマッチ
>> が気にならなくもないですが,必要性はわかりますし,ものは考えよう
>> ということで,私としては仕様さえうまく決まればそれで構わないと
>> 思います。竹広さんはどうですか?
>> 
>> ファイル名のワイルドカードのほうは複数ファイルにまたがった
>> 一オブジェクトを指すようになってることとの整合性をどうつけるかが
>> 考えどころですね。こうなると,各ファイルそれぞれに収録された別々の
>> オブジェクトにも対応したいでしょう。
>> 
>> # ちなみに戻り値は Array に変更でしょうか。
>> 
>>> 堀之内さま:
>>> 
>>> アドバイスありがとうございます。
>>> 
>>>> 変数名一意でない場合の対応がほしいです。候補をリストして raise
>>>> がいいと思います。
>>> これは例えば、変数名に uwnd と vwnd があって ?wnd とか指定したときのことですよね。
>>> この場合は、ワイルドカード表現に合うもの全てを順々に描画させるようにしたつもりなのですが、
>>> raise で止めた方が良いでしょうか?
>>> # 私は入ってる変数を順々に眺めたいときもあるのですが…
>>> 
>>> 
>>> その他は承知しました。
>>> 
>>> 樫村
>>> 
>>> 
>>>> 2014/11/19 18:34、Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx> のメール:
>>>> 
>>>> 堀之内です。
>>>> 
>>>>> # 期待かけられると張り切るたちです。
>>>> 
>>>> 嬉しいです。では,ということで...
>>>> 
>>>> ざっとみてみました。汎用にするため,なるべく GPhys::IO 
>>>> のメソッドを使いましょう(あるべきものがないと思ったら
>>>> ご指摘を; ブーメランが返る可能性もありますが...)。
>>>> 幸い,今の場合は var_names と var_names_except_coordinates 
>>>> があります。使いたいのは後者ですよね? 
>>>> あとは Array#select を使えばすっきり。
>>>> 
>>>> 変数 file は,先ほど話題になったように,複数 (Array) である
>>>> 場合があります。
>>>> 
>>>> 変数名一意でない場合の対応がほしいです。候補をリストして raise
>>>> がいいと思います。
>>>> 
>>>> マッチしない場合のメッセージ。変数名をリストするのは
>>>> Good です。さらに,どういう変数名指定だったから合わなかっ
>>>> たのかも出すと,問題発見が早くなると思います(「"T*" では
>>>> "temp", "hoge" などにはマッチするのがないよ」などと)。
>>>> 
>>>> コメント文,積極的につけてくれてありがとうございます。
>>>> ほかの部分にあわせて英語でお願いします。
>>>> 
>>>>> 樫村です。
>>>>> 
>>>>>>> うーん, 便利だろうけど私には高度すぎて実装できそうにないような...
>>>>>> 樫村さんに期待,です。 (^_^)
>>>>> 
>>>>> # 期待かけられると張り切るたちです。
>>>>> 
>>>>> あまり美しくないかもですが、添付のようにすれば一応変数ワイルドカード対応してるでしょうか。
>>>>> ファイル名のワイルドカードと両立させるために若干ややこしくなってます。
>>>>> #試した範囲では上手くいきましたが、検証不十分です。
>>>>> 
>>>>> 素のgpviewに対するパッチを添付します。
>>>> 
>>>> 堀之内 武
>>>> 北海道大学 地球環境科学研究院 地球圏科学部門
>>>> 〒060-0810 札幌市北区北10条西5丁目
>>>> 
>>>> 
>>> 
>>> 樫村(山本)博基
>>> hiroki@xxxxxxxxxxxxxx
>> 
>> 堀之内 武
>> 北海道大学 地球環境科学研究院 地球圏科学部門
>> 〒060-0810 札幌市北区北10条西5丁目
>> 
> 
> 堀之内 武
> 北海道大学 地球環境科学研究院 地球圏科学部門
> 〒060-0810 札幌市北区北10条西5丁目
> 
> 

樫村(山本)博基
hiroki@xxxxxxxxxxxxxx