Et første blikk på mutasjon
Endre data uten å ødelegge annen kode.
Et første blikk på mutasjon er en gratis leksjon i Mojo Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mojo Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mojo Academy inneholder totalt 4 leksjoner.
Endre data med hensikt
Uavhengige kopier er nyttige, men virkelige programmer må endre data: oppdatere en poengsum eller utvide en liste. La oss gjøre det på en trygg måte. ✏️
Endre din egen var
Den enkleste endringen er å tilordne en ny verdi til en var du eier. Siden det er din kopi, påvirker endringen bare verdien din.
var score = 10
score = score + 5Lokale endringer er uten bieffekter
Redigering av en lokal variabel kan ikke lekke ut. Andre variabler beholder verdiene sine, så endringen får ingen overraskende bivirkninger.
var a = 1
var b = a
a = 100Funksjoner får kopier som standard
Når De sender en verdi til en funksjon, redigerer den en kopi. Den opprinnelige verdien utenfor funksjonen forblir urørt.
fn bump(n: Int) -> Int:
return n + 1Men noen ganger ønsker De en reell endring
Hva om en funksjon skal oppdatere verdien hos den som kaller den, direkte? Mojo lar Dem velge dette med inout-konvensjonen.
inout betyr endring direkte i verdien
Merk et argument med inout, så arbeider funksjonen med den faktiske verdien hos den som kaller den. Dermed blir endringene virkelig beholdt.
fn double(inout n: Int):
n = n * 2Mutasjon er eksplisitt, ikke tilfeldig
Legg merke til at De måtte skrive inout med hensikt. Mojo endrer aldri verdien hos den som kaller funksjonen uten at De ber om det; De velger det alltid aktivt.
Signaturen forteller Dem hva som skjer
Funksjonssignaturen viser hensikten. Ser De inout, vet De at verdien kan endres; ellers kan De forvente en sikker kopi.
Kalle en inout-funksjon
Kall den med variabelen Deres, og se at verdien oppdateres akkurat der den ligger. Funksjonen fikk tilgang til den opprinnelige verdien, med hensikt.
var n = 4
double(n)
print(n)En balansert tilnærming
Mojo kombinerer begge deler: sikre kopier som standard og bevisst mutasjon når De ber om det. De får både sikkerhet og fleksibilitet.
Hva skjer videre
Dette er bare en første introduksjon. Senere møter De owned og overføringsoperatoren, som gir full kontroll over hvordan data flyttes. 🚀
Rask kontroll
De ønsker at en funksjon skal endre den faktiske verdien hos den som kaller den, ikke en kopi. Hva bruker De?
Oppsummering
Det er trygt og lokalt å endre Deres egen variabel. Hvis De vil endre verdien hos den som kaller funksjonen, velger De inout; ingenting endres ved et uhell. 🎯
Lær deg Mojo med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Et første blikk på mutasjon» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Mojo Academy, inkludert «Et første blikk på mutasjon», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Mojo Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Et første blikk på mutasjon»?
Endre data uten å ødelegge annen kode. Du øver på Mojo Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Mojo Academy?
Ingen tidligere erfaring er nødvendig. Mojo Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Et første blikk på mutasjon»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Mojo Academy-leksjonen?
Ja. Alle Mojo Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hva verdisemantikk betyr
- Kopier kontra delt tilstand
- Mojos trygge standard
- Et første blikk på mutasjon