Significato del doppio punto interrogativo in Ruby

Significato del doppio punto interrogativo in Ruby
Quando si lavora con le basi del codice Ruby, è possibile che si verifichi una sintassi che utilizza i doppi punti interrogativi. In questo tutorial, riassumeremo cosa significano questi operatori e come funzionano nel contesto dell'uso.

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 ...