string1 = string2, string1 < string2
The equality operator = evaluates to true if the two strings
string1 and string2 are equal and false otherwise. The inequality
operator < returns true if the two strings string1 and string2
are not equal and false otherwise.
gap> "Hello world.\n" = "Hello world.\n";
true
gap> "Hello World.\n" = "Hello world.\n";
false # string comparison is case sensitive
gap> "Hello world." = "Hello world.\n";
false # the first string has no <newline>
gap> "Goodbye world.\n" = "Hello world.\n";
false
gap> [ 'a', 'b' ] = "ab";
true
string1 < string2, string1 <= string2,
string1 string2, string1 = string2
The operators <, <=, , and = evaluate to true if the string
string1 is less than, less than or equal to, greater than, greater than
or equal to the string string2 respectively. The ordering of strings
is lexicographically according to the order implied by the underlying,
system dependent, character set.
You can also compare objects of other types, for example integers or permutations with strings. As strings are dense character lists they compare with other objects as lists do, i.e., they are never equal to those objects, records (see Records) are greater than strings, and objects of every other type are smaller than strings.
gap> "Hello world.\n" < "Hello world.\n";
false # the strings are equal
gap> "Hello World.\n" < "Hello world.\n";
true # in ASCII uppercase letters come before lowercase letters
gap> "Hello world." < "Hello world.\n";
true # prefixes are always smaller
gap> "Goodbye world.\n" < "Hello world.\n";
true # 'G' comes before 'H', in ASCII at least
GAP 3.4.4