Next: , Previous: Arithmetic operators, Up: Operators   [Contents][Index]

7.3 Relational operators

演算子: <
演算子: <=
演算子: >=
演算子: >

シンボル < <= >= >はそれぞれ、小なり、以下、以上、大なり、を表します。 これらの演算子の名前は、 "<""<="">="">"です。 それらは関数や演算子の名前が求められるところで使われます。

これらの関係演算子はすべて二項演算子です; a < b < cのような構成をMaximaは認識しません。

関数 ismaybe、 プログラミング構成子 if, while, unlessが 関係式をブーリアン値に評価します。 そうでなければ、関係式はブーリアン値に評価されたり整理されたりしませんが、 関係式の引数は(評価がクォーテーションによって妨げられないかぎり)評価されます。

関係式が trueもしくは falseに評価できない時、 isifの振る舞いは、グローバルフラグ prederrorが決定します。 prederrortrueの時、 isifはエラーをトリガーします。 prederrorfalseの時、 isunknownを返し、 ifは部分的に評価された条件式を返します。

maybeはいつも、 prederrorfalseであるかのように振る舞い、 whileunlessはいつも、 prederrortrueであるかのように振る舞います。

関係演算子はリストやほかの集合上で展開されることはありません。

=#equalnotequalも参照してください。

例:

いくつかの関数やプログラミング構成子が関係式をブーリアン値に評価します。

(%i1) [x, y, z] : [123, 456, 789];
(%o1)                    [123, 456, 789]
(%i2) is (x < y);
(%o2)                         true
(%i3) maybe (y > z);
(%o3)                         false
(%i4) if x >= z then 1 else 0;
(%o4)                           0
(%i5) block ([S], S : 0, for i:1 while i <= 100 do S : S + i, 
             return (S));
(%o5)                         5050

そうでなければ関係式はブーリアン値に評価されたり整理されたりしませんが、 関係式の引数は評価されます。

(%o1)                    [123, 456, 789]
(%i2) [x < y, y <= z, z >= y, y > z];
(%o2)    [123 < 456, 456 <= 789, 789 >= 456, 456 > 789]
(%i3) map (is, %);
(%o3)               [true, true, true, false]

Next: , Previous: Arithmetic operators, Up: Operators   [Contents][Index]