Next: Общие операторы, Previous: Арифметические операторы, Up: Операторы [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: Общие операторы, Previous: Арифметические операторы, Up: Операторы [Contents][Index]