Kuidas kasutada kohtuasja / lüliti avaldust rubiinis

click fraud protection

Enamikus arvutikeeled, juhtum või tingimuslik (tuntud ka kui lüliti) avalduses võrreldakse muutuja väärtust mitme konstandi või tähtkirja väärtusega ja käivitatakse esimene tee vastava juhtumiga. Sisse Rubiin, see on natuke paindlikum (ja võimsam).

Lihtsa võrdõiguslikkuse testi asemel kasutatakse juhtumite võrdsuse tagamise operaatorit, avades ukse paljudele uutele kasutusvõimalustele.

Muudest keeltest on siiski mõned erinevused. Sisse C, on lülitusavaldus omamoodi asendaja reale kui ja goto avaldused. Karbid on tehniliselt etiketid ja lülita avaldus läheb vastavale sildile. See näitab käitumist, mida nimetatakse "läbikukkumiseks", kuna täitmine ei peatu, kui see jõuab teisele sildile.

Tavaliselt välditakse seda vaheaja avalduse abil, kuid läbikukkumine on mõnikord tahtlik. Seevastu kohtuasja Ruby kohtuotsust võib käsitleda kui lühendatut mitmetele kui avaldused. Läbikukkumist ei toimu, täidetakse ainult esimene sobitusjuhtum.

Kohtuasja avalduse põhivorm

Kohtuasja avalduse põhivorm on järgmine.

instagram viewer

Nagu näete, on see struktureeritud nagu if / else if / else tingimuslause. Nimi (mida me kutsume väärtus), mida sel juhul sisestatakse klaviatuurilt, võrreldakse kõigi juhtumitega millal klauslid (s.o. juhtumeid) ja esimene, kui täidetakse sobitusjuhtumiga plokk. Kui ükski neist ei sobi, siis muud blokeeritakse.

Mis siin huvitav on kuidas väärtust võrreldakse iga juhtumiga. Nagu eespool mainitud, aastal 2006 C ++ja muud C-taolised keeled, kasutatakse lihtsat väärtuste võrdlust. Ruby puhul kasutatakse võrdõiguslikkuse operaatorit.

Pidage meeles, et kohtuasjade võrdõiguslikkuse tagamise operaatori vasakpoolne tüüp on oluline ja juhtumid on alati vasakpoolsed. Niisiis, igaühe jaoks millal klausel, hindab Ruby juhtumi väärtus kuni see leiab vaste.

Kui me peaksime sisestama Bob, Hindab Ruby kõigepealt "Alice" "Bob", mis on alates sellest ajast vale String defineeritakse kui stringide võrdlust. Järgmine /[qrz] .+/i "Bob" hukatakse, mis on alates sellest vale Bob ei alga Q, R ega Z-ga.

Kuna ükski juhtum ei vastanud, täidab Ruby siis muu klausli.

Kuidas tüüp mängu tuleb

Haigusjuhu avalduse üldine kasutamine on väärtuse tüübi määramine ja sõltuvalt selle tüübist midagi teistsugust. Kuigi see rikub Ruby tavapärase pardi tüpiseerimise, on mõnikord vaja asjad korda saada.

See töötab, kasutades nuppu Klass nr (tehniliselt Moodul nr) operaator, mis testib, kas parempoolne on? vasakul pool.

Süntaks on lihtne ja elegantne:

Veel üks võimalik vorm

Kui väärtus Kui see välja jätta, töötab juhtumiavaldus pisut teisiti: see töötab peaaegu täpselt nagu lause if / else if / else korral. Juhtumiavalduse kasutamise eelised võrreldeskui väide on sel juhul üksnes kosmeetiline.

Kompaktsem süntaks

On aegu, kus on palju väikeseid millal klauslid. Selline juhtumiteatis kasvab hõlpsasti ekraanil kuvamiseks liiga suureks. Kui see on nii (ükski pun pole mõeldud), võite kasutada nuppu siis märksõna, et panna keha millal klausel samal real.

Kuigi see moodustab mõne väga tiheda koodi, kui igaüks neist millal klausel on väga sarnane, sellest saab tegelikult rohkem loetav.

Kui peaksite klausleid otsustada, kasutada ühe- ja mitmerealisi, on see stiili küsimus. Nende kahe segamine pole siiski soovitatav - juhtumikirjeldus peaks järgima võimalikult loetavat mustrit.

Juhtumite määramine

Nagu lausete puhul, hindavad juhtumiavaldused viimase lause väiteid millal klausel. Teisisõnu saab neid ülesannetes kasutada omamoodi tabeli koostamiseks. Kuid ärge unustage, et juhtumiväljavõtted on palju võimsamad kui lihtsad massiivi- või räsiotsingud. Sellise tabeli puhul ei pea tingimata kasutama tähemärke millal klauslid.

Kui klausli vaste puudub ja pole teist klauslit, hinnatakse juhtumiavaldust null.

instagram story viewer