Što je ternarni ili uvjetni operater u Rubyju?

click fraud protection

trostruk (ili uvjetni) operator će procijeniti izraz i vratiti jednu vrijednost ako je istinita, a drugu vrijednost ako je netočna. To je malo poput kratke, kompaktne izjave.

Ruby ternarni operator ima svoje koristi, ali je i malo kontroverzan.

Primjer terminala

Pogledajmo ovaj primjer:

Ovdje se uvjetni operator koristi za odabir između dva niza. Cijeli izraz operatora je sve, uključujući uvjetno, upitnik, dva niza i dvotočku. Opći format ovog izraza je sljedeći: uvjetni? točno netočno.

Ako je uvjetni izraz istinit, tada će operator ocijeniti kao pravi izraz. U suprotnom, procijenit će kao lažni izraz. U ovom se primjeru nalazi u zagradama, tako da ne ometa operatore spajanja stringova koji ih okružuju.

Drugim riječima, uvjetni operator je poput an ako izjava. Zapamti to ako izjava u Ruby procijeniti na zadnju vrijednost u bloku koji se izvršava. Dakle, možete prepisati prethodni primjer ovako:

Ovaj je kod funkcionalno ekvivalentan i možda ga je malo lakše razumjeti. Ako ja je veći od 10, ako

instagram viewer
sama izjava ocijenit će nizu "većim od" ili će nizu ocijeniti manje od ili jednak. "To je ista stvar koju radi ternarni operator, samo je ternarni operator više kompaktni.

Načini za Ternarnog Operatora

Dakle, kakve koristi koristi ternarni operator? Ima koristi, ali nema ih mnogo, i bez toga bi se dobro slagali.

Obično se koristi za podmetanje cipela u vrijednostima u kojima bi uvjeti bili previše glomazni. Također se koristi u dodjeljivanju varijable za brzi odabir dviju vrijednosti.

Evo dva uobičajena slučaja upotrebe koji ćete vidjeti za ternarnog operatora:

Možda ste primijetili kako ovo izgleda prilično ne-Ruby. Složeni izrazi jednostavno ne pripadaju jednom retku u Rubyju - obično je podijeljen i lakši za čitanje. No, vidjet ćete ovog operatera, i on se može učinkovito koristiti bez izlaska iz ruke.

Jedno pravilo koje treba slijediti je da ako koristite ovaj operator za odabir između dvije vrijednosti jednostavnim uvjetnim, u redu je. Ako radite nešto složenije, vjerojatno biste koristili ako umjesto toga.

instagram story viewer