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

[dennou-ruby:001797] Re: GrADS_Gridded#each_att



西澤さま

バンドンでお忙しいところすみません。

> 水田です。
...
> >   となってる部分を、以下のようにするだけ。
> > 
> >             f.att_names.each{|name|
> >               val = f.get_att(name)
> 
> 手元で/usr/local/bin/gaveをこのようにしてみたら正常に動作しました。

一部、これだけで済まないところがありました。

以下のパッチで動作するようになります。コミットしていいですか。

堀之内
--------------------------------------------------------------------
--- gave~       Tue Jul 13 09:44:01 2004
+++ gave        Thu Jul 15 13:28:19 2004
@xxxxxx@xxxxxx -1005,13 +1005,23 @xxxxxx@xxxxxx
               open_var(gphys, fn, filetype)
             }
             attr_list = List.new
-            f.each_att{|att|
-              val = att.get
-              if val.class==NArray then
-                val = att.get.to_a.join(",")
-              end
-              attr_list.set_item(att.name, val)
-            }
+            if( f.respond_to?(:each_att) )
+             f.each_att{|att|
+               val = att.get
+               if val.class==NArray then
+                 val = att.get.to_a.join(",")
+               end
+               attr_list.set_item(att.name, val)
+             }
+           else
+             f.att_names.each{|name|
+               val = f.get_att(name)
+               if val.class==NArray then
+                 val = att.get.to_a.join(",")
+               end
+               attr_list.set_item(name, val)
+             }
+            end
             attr_list.add_note(@xxxxxx, _("global")+" (#{File.basename(fn)})")
           ensure
             f.close
@xxxxxx@xxxxxx -1025,13 +1035,23 @xxxxxx@xxxxxx
           end
         }
         attr_list = List.new
-        file.each_att{|att|
-          val = att.get
-          if val.class==NArray then
-            val = att.get.to_a.join(",")
-          end
-          attr_list.set_item(att.name, val)
-        }
+       if( file.respond_to?(:each_att) )
+         file.each_att{|att|
+           val = att.get
+           if val.class==NArray then
+             val = att.get.to_a.join(",")
+           end
+           attr_list.set_item(att.name, val)
+         }
+       else
+         file.att_names.each{|name|
+           val = file.get_att(name)
+           if val.class==NArray then
+             val = att.get.to_a.join(",")
+           end
+           attr_list.set_item(name, val)
+         }
+       end
         attr_list.add_note(@xxxxxx, _("global"))
         file.close
       end