D proporciona los siguientes operadores de asignación binaria para modificar variables de D. Sólo puede modificar variables y matrices de D. Los objetos de datos del núcleo y las constantes no se pueden modificar utilizando los operadores de asignación de D. Los operadores de asignación tiene el mismo significado que en ANSI-C.
Tabla 2–10 Operadores de asignación de D
= |
define el operando de la izquierda igual al valor de la expresión de la derecha |
+= |
aumenta el operando de la izquierda por el valor de la expresión de la derecha |
-= |
reduce el operando de la izquierda por el valor de la expresión de la derecha |
*= |
multiplica el operando de la izquierda por el valor de la expresión de la derecha |
/= |
divide el operando de la izquierda por el valor de la expresión de la derecha |
%= |
modula el operando de la izquierda por el valor de la expresión de la derecha |
|= |
OR a nivel de bits del operando de la izquierda con el valor de la expresión de la derecha |
&= |
AND a nivel de bits del operando de la izquierda con el valor de la expresión de la derecha |
^= |
XOR a nivel de bits del operando de la izquierda con el valor de la expresión de la derecha |
<<= |
desplaza el operando de la izquierda hacia la izquierda el número de bits especificado por el valor de la expresión de la derecha |
>>= |
desplaza el operando de la izquierda hacia la derecha el número de bits especificado por el valor de la expresión de la derecha |
Aparte del operador de asignación =, el resto de operadores de asignación se proporciona como un atajo para utilizar el operador = con uno de los otros operadores descritos anteriormente. Por ejemplo, la expresión x = x + 1 es equivalente a la expresión x += 1, excepto en que la expresión x se evalúa una vez. Estos operadores de asignación obedecen las mismas reglas para los tipos de operando que los formularios binarios descritos anteriormente.
El resultado de cualquier operador de asignación es una expresión igual al nuevo valor de la expresión de la izquierda. Puede utilizar los operadores de asignación o cualquiera de los operadores descritos hasta ahora en combinación para formar expresiones de complejidad arbitraria. Puede utilizar paréntesis ( ) para agrupar los términos en las expresiones complejas.