UNITS(1) FreeBSD 一般コマンドマニュアル UNITS(1)
名称
units − いろいろな単位の換算を行う |
書式
units [−f filename] [−qv] [from-unit to-unit] |
オプション |
−f filename
単位換算用のデータファイル名を指定します。 −q −v from-unit to-unit 解説 |
units プログラムは様々な単位で表された量を他の単位に換算します。乗算で求 められる単位の換算のみ行なえますが、摂氏から華氏への変換などはできませ ん。入力プロンプトを介して、対話的に動作します。 You have: meters You want: feet * 3.2808399 / 0.3048 You have: cm^3 You want: gallons * 0.00026417205 / 3785.4118 You have: meters/s You want: furlongs/fortnight * 6012.8848 / 0.00016630952 You have: 1|2 inch You want: cm * 1.27 / 0.78740157 単位の中で累乗を表す部分は、上の例のように ‘^’ を用いて表すか、あるいは単 に連結して表記します。例えば ‘cm3’ は ‘cm^3’ と等価です。単位の掛け算を表 すには、空白、ダッシュあるいはアスタリスクを用います。単位の割り算には ‘/’ を用います。掛け算は割り算より高い優先度を持ちますから、 ‘m/s/s’ は ‘m/s^2’ あるいは ‘m/s s’ と同じ意味になります。数値の割り算には縦棒(‘|’) を用いなければなりません。例えば 1 メートルの半分を変換するには、‘1|2 meter’ と書きます。もし ‘1/2 meter’ と書くと、 units はそれを ‘0.5/meter’ と解釈します。換算できない単位型を指定すると、 units はそれに対応していな い旨のメッセージを表示し、各単位の簡略形を示します。 You have: ergs/hour You want: fathoms kg^2 / day conformability error 2.7777778e-11 kg m^2 / sec^3 2.1166667e-05 kg^2 m / sec 換算に必要な情報は、換算用データベースファイルから読み込まれます。デフォ ルトのファイルには、よく用いられる単位のほとんど、省略形、メートル法の接 頭語、などの定義が含まれています。以下のような自然定数もいくつか含まれて います: |
pi 円周率 ‘pound’ (ポンド) は質量の単位です。複合した単位名は連結して記述します。 ‘pound force’ は力の単位です。 ‘ounce’ (オンス) もまた質量の単位です。液 体のオンスは ‘floz’ です。英米で同じ単位の値が異なる場合、英国式単位の前 に ‘br’ を付けます。通貨単位の場合には ‘belgiumfranc’ や ‘britainpound’ のように頭に国名を付けて区別します。単位を探す際に指定された文字列そのも のが単位名として見つからない場合、 units は末尾の ‘s’ や ‘es’ を取り除い て再度チェックします。 どのような単位が利用可能か、については、標準の単位ファイルを参照して下さ い。独自の単位を追加したいなら、独自のファイルを指定できます。単位の指定 は、1 行に名前とそれに相当する量を書きます。新しい単位は古い単位に基づい て定義し、単位を変換していくと ‘!’ 印を付した原始単位にたどりつくように注 意してください。不注意で単位定義に無限ループがあっても units はそれを検知 しません。単位定義ファイル中において ‘/’ で始まる行はコメントです。 接頭語の定義も標準的な単位と同形式で行ないますが、接頭語名の末尾にダッ シュをつけます。末尾の ‘s’ や ‘es’ を取り除いても、単位名として見つからな い場合は、接頭語かどうかがチェックされ、接頭語を取り除くと有効な基本単位 名となるかを調べます。 基本的な単位を定義する簡単な単位ファイルの例を以下に示します。 m !a! |
バグ
接頭語に ‘/’ が含まれるとびっくりする結果を生みます。 ユーザが入力する累乗部分は 1 桁でなければなりません。必要なら何度か掛け合 わせて下さい。 数の除算には ‘|’ を用い、シンボルの除算には ‘/’ を用いなければなりません が、このような区別は不要にすべきです。 このプログラムは、換算した表示桁数の制限がばらばらですし、データファイル の長さにも制限があります。 単位を格納するのにハッシュ表を用い、単位表のロードと重複チェックの時間を 軽減すべきです。 |
関連ファイル
/usr/share/misc/units.lib
標準単位ライブラリ 作者 |
Adrian Mariano 〈adrian@cam.cornell.edu〉 FreeBSD 10.0 July 14, 1993 FreeBSD 10.0 |