Parametere kontra argumenter
Verdier ved kompilering kontra verdier ved kjøring.
Parametere kontra argumenter er en gratis leksjon i Mojo Academy på CoddyKit. Dette er leksjon 1 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.
To typer inndata
Mojo-funksjoner kan ta imot to typer inndata: parametere som er kjent ved kompilering, og argumenter som er kjent ved kjøring. Å kjenne forskjellen er nøkkelen.
Argumenter finnes ved kjøring
Et argument er en vanlig verdi du sender inn når programmet kjører. Det faktiske tallet kan endres hver eneste gang du kaller funksjonen.
fn square(x: Int) -> Int:
return x * xParametere finnes ved kompilering
En parameter er en verdi kompilatoren allerede kjenner før programmet kjører. Den er fast og bygges direkte inn i den genererte koden. ⚙️
Hakeparenteser kontra parenteser
Mojo holder dem visuelt adskilt: parametere står i hakeparenteser, mens argumenter står i de vanlige parentesene.
fn repeat[count: Int](msg: String):
print(msg)Les signaturen
I repeat[count: Int](msg: String) angis count ved kompilering, mens msg oppgis senere når du faktisk kaller funksjonen.
Kompilering betyr tidligere
Tenk på kompilering som øyeblikket da Mojo oversetter koden din, lenge før den kjører. Parametere avgjøres i denne tidligere fasen.
Hvorfor skille dem
Ved å holde verdier ved kompilering og kjøring adskilt kan kompilatoren spesialisere og optimalisere kode på måter kjøringen ganske enkelt ikke kan.
Sende inn en parameter
Du oppgir en parameter i hakeparenteser ved kallstedet, akkurat som du oppgir argumenter i parenteser rett etterpå.
repeat[3]("hi")Parametere må være kjent
En parameter må være en konstant kjent ved kompilering. Du kan ikke sende inn et tall du først beregnet mens programmet kjørte.
Et kjent eksempel
Den innebygde typen SIMD tar elementtypen og bredden som parametere, og inneholder deretter faktiske tall som kjøringsverdier.
var v = SIMD[DType.int32, 4](1, 2, 3, 4)Den mentale modellen
Se for deg to plasser: hakeparentesplassen for fakta kjent ved kompilering, og parentesplassen for data ved kjøring. Mojo behandler dem svært ulikt.
Rask kontroll
Skill mellom parametere og argumenter i Mojo.
Oppsummering
Du har lært forskjellen: parametere er verdier kjent ved kompilering i hakeparenteser, mens argumenter er verdier ved kjøring i parenteser. Dette skillet gir Mojo høy hastighet. 🎯
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 «Parametere kontra argumenter» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Mojo Academy, inkludert «Parametere kontra argumenter», 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 «Parametere kontra argumenter»?
Verdier ved kompilering kontra verdier ved kjøring. 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 1 av 4.
Hvor lang tid tar leksjonen «Parametere kontra argumenter»?
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
- Parametere kontra argumenter
- Parameteriserte funksjoner
- Parameteriserte structer
- Hvorfor kompileringstid gir hastighet