L'operatore ternario ?: in Perl

Nel linguaggio di programmazione Perl c'è un operatore che lavora con tre operandi. L'operatore ternario, si tratta di 2 caratteri, ?:, e questi caratteri non vengono scritti nelle vicinanze, e tra operandi.

L'operatore ternario restituisce o il secondo, o il terzo operando a seconda del valore il primo operando. Se il primo operando è la verità, allora ritorna il secondo operando se il primo operando è una menzogna, allora ritorna il terzo operando (più su verità e menzogna in Perl).

Ecco un esempio:

▶ Run
#!/usr/bin/perl

my $var = 1 ? 100 : 200;

print $var;

Il programma visualizza il numero di 100.

  • Prima viene registrato il primo operando, nel nostro esempio è il numero di 1
  • Poi va simbolo ?
  • Poi viene registrato il secondo operando, 100
  • Poi va simbolo :
  • Poi registrato il terzo operando, 200

Il primo operando 1 — questa è la verità, quindi il risultato dell'operatore è il secondo operando, cioè il numero di 100. Questo valore viene assegnato alla variabile e viene visualizzato sullo schermo.

Invece тернарного operatore è possibile utilizzare if-else. Ecco il programma, che funziona così come il precedente:

▶ Run
#!/usr/bin/perl

my $var;

if (1) {
    $var = 100;
} else {
    $var = 200;
}

print $var;

A volte è più conveniente utilizzare l'operatore ternario, e a volte la progettazione if-else.

Altri articoli