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

[dennou-ruby:001862] prefix of units



豊田様

NumRu::Units において、「ミリ」や「キロ」といった接頭辞に関し、

   (1) 単数形のみの単位には M, k, m などの省略形
   (2) 複数形もある単位には mega, kilo, milli などのフルの接頭辞

をつけたもののみ解釈することになってますが (makeutab.rb)、このルー
ルは一般的なものでしょうか。実は NCEP 再解析データでは圧力に 
millibar という単位が使われており、かつ NumRu::Units では bar は
単数のみ扱いなので、(mbar は解釈しても) millibar は解釈しない
ことになってます。よって、上のルールに一般性がないなら、

   (a) 複数形をとれるかどうかに関わらず、 M, k, m 型も  mega, 
       kilo, milli 型も認める

というのがいいと思います。あるいは、個別の対応としては、

   (b) bar は複数形をとれるようにする

というのもありますが、そうすると今度は mbar は解釈されなくなりま
すね。あるいは、

   (c) millibar なんて使うな!

と叱られたりして、、、。

(1),(2) は慣例的に多くのケースで妥当と思いますが、グレイゾーンも
ありそうな気がしますので、(a) で対応するのが嬉しいです。そうして
しまっていいですか。単位が重なるケースが出てこないとも限りません
が、実際には、接頭辞のつかない単位にあてはまらない場合に限って、
接頭辞付で解釈できないか調べることになってますから、問題なかろう
と思います。ハッシュなので検索時間もさして増えないはずですから、
ライブラリーをロードしたときの初期化にかかる時間が増えるというぐ
らいしか、実用上の問題はなかろうと思います。

堀之内