Villkorlig kompilering
Välj kodvägar vid kompilering.
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. 🎯
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
- Parametriska algoritmer
- Rulla ut loopar vid kompilering
- Villkorlig kompilering
- Begränsningar och statiska kontroller