O que é o operador ternário ou condicional no Ruby?

o ternário (ou condicional) avalia uma expressão e retorna um valor se for verdadeiro e outro valor se for falso. É um pouco como uma declaração abreviada e compacta.

Ruby operador ternário tem seus usos, mas também é um pouco controverso.

Exemplo de operador ternário

Vejamos este exemplo:

Aqui, o operador condicional está sendo usado para selecionar entre duas cadeias. Toda a expressão do operador é tudo, incluindo o condicional, ponto de interrogação, duas cadeias e dois pontos. O formato geral desta expressão é o seguinte: condicional? verdadeiro falso.

Se a expressão condicional for verdadeira, o operador avaliará como a expressão verdadeira. Caso contrário, será avaliada como expressão falsa. Neste exemplo, está entre parênteses, portanto, não interfere nos operadores de concatenação de cadeias que o cercam.

Em outras palavras, o operador condicional é como um E se declaração. Lembre-se disso E se afirmações em Ruby avalie até o último valor no bloco que é executado. Então, você pode reescrever o exemplo anterior da seguinte maneira:

instagram viewer

Esse código é funcionalmente equivalente e talvez um pouco mais fácil de entender. E se Eu é maior que 10, o E se A própria instrução avaliará a cadeia "maior que" ou avaliará a cadeia "menor que ou igual a ". É a mesma coisa que o operador ternário está fazendo, apenas o operador ternário é mais compactar.

Usos para o operador ternário

Então, quais usos o operador ternário tem? Ele tem usos, mas não há muitos, e você pode se dar bem sem ele.

Geralmente é usado para calçar sapatos em valores em que os condicionais seriam muito volumosos. Também é usado na atribuição de variáveis ​​para selecionar rapidamente entre dois valores.

Aqui estão dois casos de uso típicos que você verá para o operador ternário:

Você deve ter notado que isso parece pouco Ruby. Expressões complexas simplesmente não pertencem a uma linha do Ruby - geralmente são divididas e mais fáceis de ler. No entanto, você verá esse operador e ele pode ser usado com eficiência sem sair do controle.

Uma regra a seguir é que, se você estiver usando esse operador para selecionar entre dois valores com uma condicional simples, não há problema em usá-lo. Se você está fazendo algo mais complexo, provavelmente deve usar um E se declaração em vez disso.