[ Team LiB ] |
![]() ![]() |
15.3 Comparison OperatorsThe result is a boolean. The nature of comparisons involving strings can be influenced by a considering clause; see Chapter 12. Lists are ordered, but records are not: {1, 2} = {2, 1} -- false {name:"Matt", age:"49"} = {age:"49", name:"Matt"} -- true The
equality
(=) and inequality
( {"2"} = 2 -- false
The first operand is a list; the second operand is a number; no coercion takes place; therefore the operands are not equal, and the comparison is false. With the other comparison operators, operands must be a string, a number, or a date; the first operator is coerced to a string, a number, or a date, and then the second operator is coerced to match the datatype of the first: {"2"} The first operand is a list of one string, so it is coerced to a string. Now the second operand is coerced to a string; the two strings are equal and the comparison is true. Thus, although you cannot use the equality operator to learn whether two values would be equal if implicitly coerced to the same datatype, you can work around the problem like this: {"2"}
Syntaxoperand1 = operand2DescriptionNo coercion is performed; operands of different datatypes are not equal. Synonym is equal to has abbreviations equal, equals, and equal to.
Syntaxoperand1DescriptionNo coercion is performed; operands of different datatypes are not equal. The not-equals sign is typed using Option-=. is not has abbreviation isn't. Synonym is not equal to has abbreviations is not equal, isn't equal, does not equal, and doesn't equal. There are no synonyms <> or !=.
Syntaxoperand1 < operand2DescriptionSynonyms are is less than (abbreviation less than) and comes before.
Syntaxoperand1 > operand2DescriptionSynonyms are is greater than (abbreviation greater than) and comes after.
Syntaxoperand1DescriptionAbbreviation is
<=, or the
Syntaxoperand1DescriptionAbbreviation is >=, or the ![]() |
[ Team LiB ] |
![]() ![]() |