Hva er den ternære eller betingede operatøren i Ruby?

De trefoldig (eller betinget) operatøren vil evaluere et uttrykk og returnere en verdi hvis det er sant, og en annen verdi hvis det er usant. Det er litt som en kortfattet, kompakt hvis uttalelse.

Rubys ternary operator har sine bruksområder, men det er også litt kontroversielt.

Ternary operator-eksempel

La oss se på dette eksemplet:

Her brukes den betingede operatøren til å velge mellom to strenger. Hele operatøruttrykket er alt inkludert betinget, spørsmålstegn, to strenger og tykktarmen. Det generelle formatet for dette uttrykket er som følger: betinget? sant: usant.

Hvis det betingede uttrykket er sant, vil operatøren evaluere som det sanne uttrykket. Ellers vil den evaluere som det falske uttrykket. I dette eksemplet er det i parentes, slik at det ikke forstyrrer strengkonsentrasjonsoperatørene som omgir det.

For å si dette på en annen måte, er den betingede operatøren som en hvis uttalelse. Husk at hvis uttalelser i Ruby evaluer til den siste verdien i blokken som blir kjørt. Så du kan skrive om forrige eksempel slik:

instagram viewer

Denne koden er funksjonelt ekvivalent, og kanskje litt enklere å forstå. Hvis Jeg er større enn 10, hvis uttalelsen i seg selv vil evaluere til strengen "større enn" eller vil evaluere til strengen "mindre enn eller lik. "Dette er det samme som den ternære operatøren gjør, bare den ternære operatøren er mer kompakt.

Bruk for den ternære operatøren

Så hva bruker den ternære operatøren? Den har bruk, men det er ikke mange, og du kan komme godt ut uten det.

Det er vanligvis brukt til skohorn i verdier der balsamene ville være for klumpete. Det brukes også i variabel tildeling for raskt å velge mellom to verdier.

Her er to typiske brukstilfeller du ser for den ternære operatøren:

Du har kanskje lagt merke til at dette ser ganske un-Ruby ut. Komplekse uttrykk hører bare ikke hjemme på en linje i Ruby - det er vanligvis delt opp og enklere å lese. Imidlertid vil du se denne operatøren, og den kan brukes effektivt uten å komme ut av hånden.

En regel å følge er at hvis du bruker denne operatøren til å velge mellom to verdier med en enkel betinget, er det OK å bruke. Hvis du gjør noe mer komplekst, bør du sannsynligvis bruke en hvis uttalelse i stedet.

instagram story viewer