Next: Logical operators, Previous: Arithmetic operators, Up: Operators [Contents][Index]
シンボル <
<=
>=
>
はそれぞれ、小なり、以下、以上、大なり、を表します。
これらの演算子の名前は、 "<"
、 "<="
、 ">="
、 ">"
です。
それらは関数や演算子の名前が求められるところで使われます。
これらの関係演算子はすべて二項演算子です;
a < b < c
のような構成をMaximaは認識しません。
関数 is
や maybe
、
プログラミング構成子 if
, while
, unless
が
関係式をブーリアン値に評価します。
そうでなければ、関係式はブーリアン値に評価されたり整理されたりしませんが、
関係式の引数は(評価がクォーテーションによって妨げられないかぎり)評価されます。
関係式が true
もしくは false
に評価できない時、
is
や if
の振る舞いは、グローバルフラグ prederror
が決定します。
prederror
が true
の時、 is
や if
はエラーをトリガーします。
prederror
が false
の時、
is
は unknown
を返し、
if
は部分的に評価された条件式を返します。
maybe
はいつも、 prederror
が false
であるかのように振る舞い、
while
や unless
はいつも、 prederror
が true
であるかのように振る舞います。
関係演算子はリストやほかの集合上で展開されることはありません。
=
や #
、 equal
、 notequal
も参照してください。
例:
いくつかの関数やプログラミング構成子が関係式をブーリアン値に評価します。
(%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: Logical operators, Previous: Arithmetic operators, Up: Operators [Contents][Index]