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

[dennou-ruby:002496] Re: [gphys_netcdf] too many connects



堀之内です。何度もすみません。

> > とりあえず, 必要なくなったら close するように
> > 
> >   ncfile=gphys.data.file
> >   ncfile.close if ncfile.class.to_s == "NumRu::NetCDF"
> > 
> > なんてので対処してますが, こんなもんでいいんすかね. 

これですが、以下のようにするのがいいと思います。

begin
   gphys.data.file.close
rescue
end

あるいはもっと簡単に

   gphys.data.file.close rescue nil

とか(nilでなくfalseでもなんでもいい)。
なぜかというと、gphys.data で得られる VArray オブジェクトは
ファイル中の変数を代表してない場合は file メソッドを持ちません。
一方、file メソッドを持つ場合、閉じるメソッドはNetCDFに限らず
close です。