Domanda

C'è qualche motivo per utilizzare un operatore scalare virgola altrove che in un ciclo for?

È stato utile?

Soluzione

Poiché lo scalare virgola Perl è una "porta" dell'operatore C virgola, questi commenti sono probabilmente a proposito:

  

Una volta ogni tanto, ci si trova in   una situazione in cui C prevede un   singola espressione, ma si hanno due   cose che si vogliono dire. Più   comune (e in effetti l'unico comune)   esempio è in un ciclo for, specificamente   il primo e il terzo controllo   espressioni. E se (ad esempio)   vogliono avere un ciclo in cui i conta   dal 0 a 10 allo stesso tempo che   j il conto alla rovescia da 10 a 0?

Così, il vostro istinto che è soprattutto utile in for loop è una buona, credo.

Altri suggerimenti

Di tanto in tanto lo uso al condizionale (a volte chiamato erroneamente "ternario") operatore, se il codice è più facile da leggere rispetto a romperlo fuori in un vero e proprio if / else:

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

Potrebbe essere utilizzato anche in qualche espressione in cui l'ultimo risultato è importante, come ad esempio in un'espressione grep, ma in questo caso è proprio la stessa, come se un punto e virgola è stato utilizzato:

my @results = grep { setup(), condition() } @list;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top