計測値の操作入力のパースと正規化、そしてローカライズされた表記での出力により、 さまざまなロケールのユーザがデータにアクセスできるようになります。 Zend_Measure_* コンポーネントには それ以外にもさまざまなメソッドがあり、 正規化されたデータを操作できます。 変換おそらく最も重要な機能は、異なる単位の変換でしょう。 単位の変換は、 convertTo() メソッドを使用していつでも何度でも行えます。 単位の変換は、同じ型の単位間に限られます。したがって、 たとえば長さの単位を重さの単位に変換することなどはできません。 もしそんなことができたらプログラムがめちゃくちゃになってしまい、 エラーだらけになってしまうでしょう。
convertTo() メソッドには、オプションのパラメータ
' Example #1 変換
加減算複数の計測値の加算には add()、 そして減算には sub() を使用します。 その結果は、もとのオブジェクトと同じ型を使うでしょう。 ダイナミック・オブジェクトは、プログラミングの流体スタイルをサポートします。 そこでは、入力オブジェクトを変更する副作用の危険なしに、 演算の入り組んだ順序を入れ子にできます。
Example #2 単位の加算
Example #3 減算 減算も、加算と同じように動作します。
比較計測値を比較することもできますが、自動的な単位変換は行われません。 したがって、 equals() が TRUE を返すのは、値と単位の両方が等しい場合のみです。
Example #4 異なる計測値
Example #5 同一の計測値
比較ある計測値が別の計測値より小さいか大きいかを調べるには compare() を使用します。これは、 ふたつのオブジェクトの差によって 0、1 あるいは -1 を返します。 ふたつが同一の場合は 0、小さい場合は負の数、 そして大きい場合は正の数を返します。
Example #6 差
値の変更値を明示的に変更するには setValue() を使用します。 これは現在の値を上書きします。パラメータは、コンストラクタと同じです。
Example #7 値の変更
型の変更値はそのままで型だけを変更するには setType() を使用します。 Example #8 型の変更
|