Hirdetés

Új hozzászólás Aktív témák

  • opr

    nagyúr

    válasz Tigerclaw #13617 üzenetére

    Hala egnek keves talalkozasom volt a swift-el, de ezekben pont tudok segiteni szerintem:
    - let: Konstanst hozol letre, aminek inicializalaskor adsz erteket, utana csak olvasni tudod, irni nem.
    - var: Ez egy sima valtozo, irhato-olvashato

    Az "if let x = readLine() {..." szerkezet meg ugyan ugy mukodik, mint minden mas nyelven az if, azaz:
    Ha ertelmezheto, akkor eloszor muvelet/operacio kiertekeles tortenik, a megfelelo sorrendben (bal-jobb, zarojelezes, stb), aztan a vegen ami marad van valahogy kiertekelve bool-kent.
    Tehat, ami itt tortenik (persze a fenti problema miatt elvileg ez a sor eleve nem fog mukodni, de most az egyszeruseg kedveert tegyuk fel, hogy de):
    1) Letrehozol egy x nevu, string tipusu, konstanst
    2) Ennek a konstansnak az erteke lesz az, amit a readLine() visszaad
    3) Az igy kapott string lesz kiertekelve, mint az if feltetele

    Mondhatjuk ugy is, hogy ugyanaz, mintha ezt irtad volna:
    let x = readLine()
    if x {...

    Arra, hogy swiftben az if hogy ertekeli ki a stringet nem emlekszem, de igy tippre azt mondanam, hogy a tipikus modon, tehat ha ures a string, akkor false, amugy true. Amugy ennel sokkal szebb a kod, ha ugy irod, hogy if x.isEmpty().
    Arra se emlekszem, hogy swiftben sima konstans lehet-e null, ha igen, azt se art kizarni.

    Nem frissek az emlekek, ugyhogy ha nagyon nem igaz, amit irtam, valaki majd kijavit, akinek naprakeszebb tudasa van. Ha meg nem, ott a gugli meg a stackoverflow. :)

Új hozzászólás Aktív témák