2010-02-04 19 views

Respuesta

7

Desde el escalar coma Perl es un "puerto" del operador C coma, these comments son, probablemente, a propósito:

De vez en cuando, usted se encuentra en una situación en la cual C espera un sola expresión, pero tiene dos cosas que quiere decir. El ejemplo más común (y, de hecho, el único común) está en un bucle for, específicamente la primera y tercera expresiones que controlan . ¿Qué pasa si (por ejemplo) que quieren tener un bucle en el que i conteos desde 0 a 10, al mismo tiempo que j está contando hacia abajo desde 10 a 0?

Por lo tanto, su instinto de que es principalmente útil en los bucles for es bueno, creo.

3

vez en cuando lo uso en condicional (a veces erróneamente llamado "ternario") del operador, si el código es más fácil de leer que romperlo a cabo en un verdadero if/else:

my $blah = condition() ? do_this(), do_that() : do_the_other_thing(); 

También podría ser utilizado en alguna expresión en el que el último resultado es importante, como en una expresión grep, pero en este caso es lo mismo que si se utiliza un punto y coma:

my @results = grep { setup(), condition() } @list; 
+0

¿No es el operador "?:" Ternario? :) –

+0

@eugene: es * un * operador ternario, pero no es correcto llamarlo * el * operador ternario. – Ether

Cuestiones relacionadas