Muuttaminen paikallaan inout-määritteellä
Anna funktion muuttaa kutsujan arvoa.
Muuttaminen paikallaan inout-määritteellä on ilmainen Mojo Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Mojo Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Mojo Academy-kurssilla on yhteensä 4 oppituntia.
Joskus sitä on muutettava
Lainaaminen sallii vain lukemisen. Joskus funktion on kuitenkin todella muutettava kutsujan arvoa, esimerkiksi kasvatettava laskuria. ✏️
Tutustu inout-määreeseen
inout-konventio antaa funktiolle muokkausoikeuden. Funktion sisällä tekemäsi muutokset näkyvät kutsujan muuttujassa.
Sisään ja ulos
Nimi kertoo kaiken: arvo kulkee sisään, sitä muutetaan, ja päivitetty arvo palaa kutsujalle. Kopiota ei palauteta.
Parametrin merkitseminen
Kirjoitat parametrin nimen eteen inout. Nyt funktion sisällä tehdyt sijoitukset päivittävät alkuperäistä muuttujaa suoraan.
fn increment(inout n: Int):
n += 1Sen kutsuminen
Välitä muuttuja ja seuraa, kuinka se muuttuu kutsun jälkeen. Funktio muokkasi kutsujan arvoa paikan päällä, eikä palautusarvoa tarvita.
var count = 5
increment(count)
print(count) # 6Muuttujan on oltava muokattava
inout-parametrille välittämäsi argumentin on oltava muokattava var. Et voi antaa sille kiinteää literaalia tai lainattua arvoa.
Yksinoikeus lainauksen aikana
Kun funktiolla on inout-viittaus hallussaan, mikään muu ei saa käsitellä kyseistä arvoa. Tämä yksinoikeussääntö estää ristiriitaiset muokkaukset.
Ei piilokopioita
Lainaamisen tavoin inout toimii viitteen kautta, joten täyttä kopiota ei tehdä. Saat muuttaa arvoa ilman kopioinnin kustannuksia.
Kutsuja omistaa sen edelleen
inout-parametria käytettäessä kutsuja säilyttää omistajuuden. Funktio lainaa arvoa muokattavaksi vain kutsun ajaksi ja luovuttaa hallinnan sitten takaisin.
Milloin inout kannattaa valita
Käytä inout-parametria, kun funktion koko tehtävä on päivittää arvoa, jota kutsuja käyttää edelleen, esimerkiksi kasvattaa puskuria tai palauttaa kentän oletusarvoon.
Lukeminen ja muokkaaminen rinnakkain
Tähän mennessä: borrowed tarkoittaa vain lukuoikeutta, inout lukemista ja kirjoittamista. Oikean vaihtoehdon valitseminen kertoo lukijalle täsmälleen, mitä funktio tekee.
Pikatarkistus
Tarkistetaan, mitä inout mahdollistaa.
Kertaus
inout antaa funktion muuttaa kutsujan arvoa paikan päällä viitteen kautta ilman kopiota. Kutsuja omistaa arvon koko ajan. 🎯
Opi Mojo tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Muuttaminen paikallaan inout-määritteellä” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Mojo Academy-oppimispolun 3 oppituntia, myös oppitunnin “Muuttaminen paikallaan inout-määritteellä”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Mojo Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Muuttaminen paikallaan inout-määritteellä”?
Anna funktion muuttaa kutsujan arvoa. Harjoittelet Mojo Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Mojo Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Mojo Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Muuttaminen paikallaan inout-määritteellä”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Mojo Academy-oppitunnilla?
Kyllä. Jokainen Mojo Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Argumenttien lainaaminen vain lukuun
- Muuttaminen paikallaan inout-määritteellä
- Omistajuuden ottaminen owned-määritteellä
- Siirto-operaattori