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

[dennou-ruby:000914] Re: NetCDF



ごとけんです

 From: Takeshi Horinouchi <horinout@xxxxxx>
 Subject: [dennou-ruby:000910] Re: NetCDF
 Date: Tue, 23 Oct 2001 14:20:58 +0900

> プロダクト名	NetCDFruby		RubyNetCDF
> tarbファイル名	netcdf-バージョン	ruby-netcdf-バージョン
> requireの引数	netcdf			netcdf
> モジュール名	(なし -- モジュールでない)

モジュールと書きましたが、例えば open は NetCDF::open とかに
なるわけですよね? 要するにここでいってるモジュール名とは :: 
で解決される名前空間のことです(Class < Module が成立します)。

それと、require の引数に / を含めるのはインストールした物件
を ls で調べるのに有効なのでつける方がお勧めです。

> 残るは、ブランド名をどうするかです。これは、実用上は、まだ準備し
> てない統合 require 文にしか現れませんから、今すぐ決定しなくても
> いいです(早い目に決めたほうがいいですが)。

名前空間を分けなければブランド名は特に必要ないと思います。

標準ライブラリがあまり階層制に従ってないので必要を感じないの
かも知れませんが、例えばJavaでは名前空間を表すパッケージ名に
URLを反転させたもの(e.g., org.dennou.dcl)を使うことで、重複
を避けています。

特にRubyは継承が実装の継承なので、名前がかぶると他のライブラ
リの実装を破壊することになります。個人的には重複を避ける意味
でも、共通した名前空間を設けるべきだと思います。Dennouにしろ
NumRuにしろ、何か分けてしまえば、重複はその中だけで考えれば
良くなりますが、もし分けないなら常に未知のプロダクトを考慮し
なければならなくなります。

-- Gotoken