Mojo Academy · Lektion

Villkorlig kompilering

Välj kodvägar vid kompilering.

Lektion 3 av 413 steg

Villkorlig kompilering är en gratis lektion i Mojo Academy på CoddyKit. Detta är lektion 3 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.

Välj kod vid kompilering

Villkorsstyrd kompilering väljer vilken kodväg som ska byggas utifrån värden kända vid kompileringen, så den oanvända grenen når aldrig det färdiga programmet. ⚙️

Satsen @parameter if

Lägg till @parameter i en if-sats vars villkor är känt vid kompileringen, så behåller Mojo endast den gren som stämmer.

@parameter
if width == 1:
    scalar_path()
else:
    vector_path()

Villkoret måste vara statiskt

Testet måste använda parametrar eller alias, alltså värden som kompilatorn redan känner till, inte data som uppstår först när programmet körs.

alias DEBUG = False

@parameter
if DEBUG:
    print("tracing")

Döda grenar försvinner

Den gren som inte uppfyller villkoret kompileras helt enkelt inte, så den ökar inte storleken och kostar inget vid körning.

Specialisera efter typ

Använd detta för att växla logik utifrån en typparameter och till exempel välja den bästa implementationen för flyttal jämfört med heltal.

@parameter
if T.is_floating_point():
    use_fma()
else:
    use_int_mul()

Förgrena efter hårdvarufakta

Kombinera villkorsstyrd kompilering med kontroller av plattform för att skapa rätt kärna för den CPU eller accelerator Ni riktar Er mot.

Funktionsflaggor utan kostnad

Styr valfria funktioner med en aliasbaserad flagga; när den är False kompileras hela funktionen bort och en slank binär fil blir kvar.

Annorlunda än en if vid körning

En vanlig if behåller alltid båda grenarna i den binära filen och testar vid körning; @parameter if fattar beslutet en gång vid byggtillfället och tar bort resten.

Kombinera med annan metaprogrammering

Villkorsstyrd kompilering fungerar bra ihop med parameteriserade funktioner och utrullade loopar, så att varje specialisering kan ta sin egen optimala väg.

En källa, många mål

Från en enda definition skapar Ni skräddarsydda versioner för varje plattform eller typ, utan kostnad för förgreningar vid körning. 🚀

Håll båda vägarna giltiga

Varje gren måste fortfarande kunna kompileras på egen hand när den väljs, så skriv varje väg korrekt för de parametervärden som väljer den.

Snabb kontroll

Jämför @parameter if med en vanlig if.

Sammanfattning

@parameter if väljer kodvägar vid kompilering: döda grenar försvinner, Ni specialiserar efter typ eller plattform och den binära filen förblir slank. 🎯

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 ”Villkorlig kompilering” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Mojo Academy, inklusive ”Villkorlig kompilering”, 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 ”Villkorlig kompilering”?

Välj kodvägar vid kompilering. 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 3 av 4.

Hur lång tid tar lektionen ”Villkorlig kompilering”?

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. Parametriska algoritmer
  2. Rulla ut loopar vid kompilering
  3. Villkorlig kompilering
  4. Begränsningar och statiska kontroller
← Tillbaka till Mojo Academy