Guía de seguimiento dinámico de Solaris

Comparación de cadenas

D sobrecarga los operadores relacionales binarios y permite utilizarlos para las comparaciones de cadenas, así como para comparaciones de números enteros. Los operadores relacionales realizan la comparación de cadenas siempre que ambos operandos sean del tipo string, o cuando un operando es del tipo string y el otro operando se pueda promocionar al tipo string, como se describe en Asignación de cadenas. Todos los operadores relacionales se pueden utilizar para comparar cadenas:

Tabla 6–1 Operadores relacionales de D para cadenas

<

el operando de la izquierda es menor que el de la derecha 

<=

el operando de la izquierda es menor o igual que el de la derecha 

>

el operando de la izquierda es mayor que el de la derecha 

>=

el operando de la izquierda es mayor o igual que el de la derecha 

==

el operando de la izquierda es igual que el de la derecha 

!=

el operando de la izquierda es distinto que el de la derecha 

Al igual que con los números enteros, cada operador evalúa el valor del tipo int,que es igual a uno si la condición es true, o cero si es false.

Los operadores relacionales comparan las dos cadenas de entrada byte a byte, igual que la rutina de la biblioteca C strcmp(3C). Cada byte se compara utilizando su valor de entero correspondiente en el conjunto de caracteres ASCII, como se muestra en ascii(5), hasta que se lea un byte nulo o se alcance la longitud máxima de la cadena. Algunos ejemplos de comparaciones de cadenas D y sus resultados son:

"coffee" < "espresso"

... devuelve 1 (true) 

"coffee" == "coffee"

... devuelve 1 (true) 

"coffee" >= "mocha"

... devuelve 0 (false)