Signification du double point d'interrogation dans Ruby

Signification du double point d'interrogation dans Ruby
Lorsque vous travaillez avec Ruby Code Bases, vous pouvez rencontrer une syntaxe qui utilise des points d'interrogation doubles. Dans ce tutoriel, nous allons résumer ce que ces opérateurs signifient et comment ils fonctionnent dans le contexte de l'utilisation.

Rubis? Opérateur

Dans Ruby, le ? L'opérateur est un opérateur ternaire. Il est utilisé comme raccourci pour une déclaration if… else. La syntaxe est la suivante:

condition ? action_if_true: action_if_false

Dans ce cas, la condition est évaluée comme vraie ou fausse. Si la condition est vraie, l'expression avant le: est exécutée. Sinon, l'expression après la: est exécutée.

Nous pouvons le démontrer en utilisant un exemple comme indiqué ci-dessous:

x = 5
met x> 0 ? "positif négatif"

Dans ce cas, le code testera si la valeur de x est supérieure à 0. Si c'est vrai, le bloc imprimera positif. Sinon, il imprimera négatif.

IRB (Main): 002: 0> met x> 0 ? "positif négatif"
positif
=> nil

Le même cas s'applique si la valeur est négative comme indiqué:

IRB (Main): 003: 0> x = -5
IRB (Main): 004: 0> met x> 0 ? "positif négatif"
négatif
=> nil

Vous pouvez également enchaîner plusieurs conditions en utilisant le ? Opérateur comme indiqué dans l'exemple ci-dessous:

x = 5
met x> 0 ? "positif": x == 0 ? "zéro": "négatif"

Dans ce cas, la requête testera la valeur de X contre trois conditions. Si la valeur est supérieure à 0, le code imprimera positif. Si la valeur est égale à zéro, le code imprimera la chaîne zéro. Et enfin, si aucune de ces conditions n'est vraie, le code imprime «négatif."

Nous pouvons également utiliser le ternaire ? opérateur dans une méthode et des noms variables. Ceci appelé «opérateur de navigation sécuritaire», ou & &. Opérateur et il est utilisé pour vérifier si le récepteur de l'appel de méthode n'est pas nulle avant d'appeler la méthode.

x = "bonjour"
X&.upcase # bonjour
y = nil
y &.upcase # nil

Nous pouvons également utiliser l'opérateur ternaire pour attribuer la valeur comme démontré ci-dessous:

x = 5
y = x> 0 ? 1: -1

Dans ce cas, y tiendra la valeur de 1.

Conclusion

Cela couvrait les bases du travail avec l'opérateur ternaire Ruby pour effectuer diverses opérations. Il convient de noter que l'opérateur ternaire a une priorité plus faible que la plupart des autres opérateurs de Ruby. Par conséquent, vous devrez peut-être utiliser des parenthèses pour vous assurer que les expressions sont évaluées dans l'ordre prévu.

Bien que l'opérateur ternaire convient pour configurer rapidement une instruction conditionnelle, elle ne fournit pas de bonne lisibilité au code. Par conséquent, nous vous recommandons d'utiliser le bloc traditionnel si… ailleurs si nécessaire.