Using perl Syntax Highlighting
- print --($foo = 'BA');
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Entiendo que debería aparecer en pantalla "AZ", pero en vez de eso me muestra "-1". Extrañamente, sí funciona bien el incremento.
El operador de auto decremento no es mágico.
The auto-decrement (--), and auto-increment (++) operators are unary operators. They alter the scalar variable they operate on by one logical unit. On numbers, they add or subtract one. On letters they shift one up or one down in the alphabet. On strings they do the same respective operation, but with the added ability to roll-over. Operators that come in post- and pre- varieties can be used two ways. The first way returns the value of the variable before it was altered, and the second way returns the value of the variable after it was altered.
my $foo = 'd';
# pre-decrement (decremented to c then printed)
print --$foo; # prints c
print $foo; # prints c
explorer escribiste:Claro, sale -1 porque hace el traspaso de cadena de caracteres a número (que será casi siempre un 0) y luego le resta una unidad.
Sería interesante saber qué manuales son esos, para avisar a sus autores.
Kimbosirk escribiste:No entiendo para qué lo ponen si no funciona...
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado