Mojo Academy · Lektion

Parametrar jämfört med argument

Värden vid kompilering jämfört med värden vid körning.

Lektion 1 av 413 steg

Parametrar jämfört med argument är en gratis lektion i Mojo Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Mojo Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mojo Academy innehåller totalt 4 lektioner.

Två slags indata

Mojo-funktioner kan ta emot två slags indata: parametrar som är kända vid kompilering och argument som är kända vid körning. Att förstå skillnaden är nyckeln.

Argument finns vid körning

Ett argument är ett vanligt värde som du skickar när programmet körs. Dess faktiska tal kan ändras varje gång du anropar funktionen.

fn square(x: Int) -> Int:
    return x * x

Parametrar finns vid kompilering

En parameter är ett värde som kompilatorn redan känner till innan programmet körs. Det är fast och byggs direkt in i den genererade koden. ⚙️

Hakparenteser jämfört med parenteser

Mojo håller dem visuellt åtskilda: parametrar skrivs inom hakparenteser, medan argument skrivs inom de välbekanta parenteserna.

fn repeat[count: Int](msg: String):
    print(msg)

Läs signaturen

I repeat[count: Int](msg: String) anges count vid kompilering, medan msg tillhandahålls senare när du faktiskt anropar funktionen.

Kompilering betyder tidigare

Tänk på kompilering som det ögonblick då Mojo översätter koden, långt innan den körs. Parametrar bestäms i denna tidigare fas.

Varför skilja dem åt

Genom att hålla värden vid kompilering och körning åtskilda kan kompilatorn specialisera och optimera kod på sätt som körningen helt enkelt inte kan.

Skicka en parameter

Du anger en parameter inom hakparenteser vid funktionsanropet, precis som du anger argument inom parenteser direkt efteråt.

repeat[3]("hi")

Parametrar måste vara kända

Ett parametervärde måste vara en konstant vid kompilering. Du kan inte skicka ett tal som du beräknade först medan programmet kördes.

Ett bekant exempel

Den inbyggda typen SIMD tar sin elementtyp och bredd som parametrar och innehåller sedan faktiska tal som värden vid körning.

var v = SIMD[DType.int32, 4](1, 2, 3, 4)

Tankemodellen

Föreställ dig två platser: hakparentesplatsen för fakta vid kompilering och parentesplatsen för data vid körning. Mojo behandlar dem mycket olika.

Snabb kontroll

Skilj mellan parametrar och argument i Mojo.

Sammanfattning

Du har lärt dig skillnaden: parametrar är värden vid kompilering inom hakparenteser, medan argument är värden vid körning inom parenteser. Denna uppdelning bidrar till MoJos hastighet. 🎯

Gratis att börja

Lär dig Mojo med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Parametrar jämfört med argument” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mojo Academy, inklusive ”Parametrar jämfört med argument”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Mojo Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Parametrar jämfört med argument”?

Värden vid kompilering jämfört med värden vid körning. Ni övar på Mojo Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Mojo Academy?

Du behöver inga förkunskaper. Utbildningen i Mojo Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Parametrar jämfört med argument”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Mojo Academy-lektionen?

Ja. Varje Mojo Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Parametrar jämfört med argument
  2. Parameteriserade funktioner
  3. Parameteriserade structs
  4. Varför kompileringstid ger högre hastighet
← Tillbaka till Mojo Academy