Rubino? Operatore
In Ruby, il ? L'operatore è un operatore ternario. È usato come stenografia per una dichiarazione se ... else. La sintassi è la seguente:
condizione ? action_if_true: action_if_false
In questo caso, la condizione viene valutata come vera o falsa. Se la condizione è vera, l'espressione prima di: viene eseguita. Altrimenti, l'espressione dopo: viene eseguita.
Possiamo dimostrarlo usando un esempio come mostrato di seguito:
x = 5
mette x> 0 ? "positivo negativo"
In questo caso, il codice verificherà se il valore di x è maggiore di 0. Se vero, il blocco stamperà positivo. Altrimenti, stamperà negativo.
IRB (Main): 002: 0> mette x> 0 ? "positivo negativo"
positivo
=> zero
Lo stesso caso si applica se il valore è negativo come mostrato:
IRB (main): 003: 0> x = -5
IRB (Main): 004: 0> mette x> 0 ? "positivo negativo"
negativo
=> zero
Puoi anche incatenare più condizioni utilizzando il ? Operatore come mostrato nell'esempio seguente:
x = 5
mette x> 0 ? "positivo": x == 0 ? "zero": "negativo"
In questo caso, la query testerà il valore di X contro tre condizioni. Se il valore è maggiore di 0, il codice verrà stampato positivo. Se il valore è uguale a zero, il codice stamperà la stringa zero. E infine, se nessuna di queste condizioni è vera, il codice stamperà "negativo."
Possiamo anche usare il ternario ? operatore in un metodo e nomi delle variabili. Questo indicava come "operatore di navigazione sicuro", o &. operatore e viene utilizzato per verificare se il ricevitore della chiamata del metodo non è nullo prima di chiamare il metodo.
x = "ciao"
X&.Upcase # ciao
y = zero
y &.Upcase # nil
Possiamo anche utilizzare l'operatore ternario per assegnare il valore come dimostrato di seguito:
x = 5
y = x> 0 ? 1: -1
In questo caso, y manterrà il valore di 1.
Conclusione
Ciò ha riguardato le basi del lavoro con l'operatore Ternary Ruby per eseguire varie operazioni. Vale la pena notare che l'operatore ternario ha una precedenza inferiore rispetto alla maggior parte degli altri operatori di Ruby. Pertanto, potrebbe essere necessario utilizzare la parentesi per garantire che le espressioni siano valutate nell'ordine previsto.
Sebbene l'operatore ternario sia adatto per l'impostazione rapida di un'istruzione condizionale, non fornisce una buona leggibilità del codice. Quindi, ti consigliamo di utilizzare il tradizionale se necessario ...