Blog

Van Code naar Make

if - else if - else Logica

1 mrt. 2024

Make scenario: if - else if - else explanation
Make scenario: if - else if - else explanation

Een if - else if - else constructie in programmeertalen maakt het mogelijk om condities te testen en, afhankelijk van het resultaat, verschillende codeblokken uit te voeren. Dit is essentieel voor het creëren van dynamische resultaten. Hieronder laat ik zien hoe je dit principe ook in Make kunt toepassen.

Showcase router logic

De If-Statement

De if-statement vormt het startpunt. Deze bepaalt of een specifieke voorwaarde waar (true) is. Indien dat zo is, wordt de code binnen de if-statement uitgevoerd. Zo niet, dan slaat het programma deze code over.

Voorbeeld in Javascript:

if (temperatuur > 25) { 
  console.log("Het is warm buiten!"); 
}

Make

In Make wordt dezelfde logica gebruikt door middel van filters. Het is mogelijk een filter te definiëren tussen twee modules, die dezelfde logica hanteert als het Javascript-voorbeeld.

Make scenario: filterMake scenario: if filter - definition

Alleen als de filtervoorwaarde waar (true) is, zal Make het proces na deze filter voortzetten.

De Else If Statement

De else if statement komt na de if-statement en biedt de mogelijkheid om extra voorwaarden te testen als de oorspronkelijke if-voorwaarde niet waar is. Meerdere else-if statements kunnen achter elkaar gebruikt worden om verschillende mogelijkheden te controleren.

Voorbeeld in Javascript:

if (temperatuur > 25) { 
  console.log("Het is warm buiten!"); 
} else if (temperatuur > 15) { 
  console.log("Het is aangenaam buiten!"); 
}

Make

Dit effect bereik je in Make door het initiële voorbeeld uit te breiden met een router. Deze router maakt het mogelijk om meerdere paden toe te voegen die sequentieel worden uitgevoerd.

Make scenario: router

Op elk pad kan een nieuwe filter worden gedefinieerd. Om het Javascript-voorbeeld na te bootsen, zijn twee paden nodig. Omdat Make de paden sequentieel uitvoert, moeten we de voorwaarde in Make zo aanpassen dat deze enkel waar kan zijn als de temperatuur ook daadwerkelijk lager of gelijk aan 25 graden is en hoger dan 15. Dit benadrukt een significant verschil met traditioneel programmeren: in Make zullen andere filters nog steeds geëvalueerd worden, zelfs als een filter op een eerdere aftakking al als waar is beoordeeld. Dit onderstreept het belang van het zorgvuldig definiëren van je filters in Make, zodat ze de gewenste resultaten opleveren, ongeacht de sequentiële evaluatie van de paden.

Make scenario: Router met 2 aftakkingen

De Else Statement

Tot slot vangt de else-statement alle gevallen op die niet door de voorgaande if- of else if-statements zijn afgehandeld. Het fungeert als een vangnet voor alle overige mogelijkheden.

Voorbeeld in Javascript:

if (temperatuur > 25) { 
  console.log("Het is warm buiten!"); 
} else if (temperatuur > 15) { 
  console.log("Het is aangenaam buiten!"); 
} else { 
  console.log("Het is koud buiten!"); 
}

Make

In Make kun je een van de paden binnen een router definiëren als een fallback route. Deze route wordt alleen uitgevoerd als geen van de gedefinieerde filters waar (true) bevonden is.

Make scenario: Router met fallback route

Let op dat een fallback route in de router module door middel van een ander icoon wordt aangeduid.

Pro tip

Als je de volgorde van je paden wilt aanpassen of de huidige volgorde wilt bekijken, kun je een menu openen door met de rechtermuisknop op een router te klikken en vervolgens 'Order routes' te selecteren. Dit menu biedt een overzicht van de huidige volgorde en stelt je in staat deze aan te passen.

Make scenario: Sorteer aftakkingen van een router

Pro tip 2

Tussen twee modules in kun je op elk pad niet alleen een filter plaatsen, maar ook een label toevoegen. Dit biedt je de mogelijkheid om visueel inzichtelijk te maken waar de filter precies betrekking op heeft, waardoor je workflows overzichtelijker en gemakkelijker te begrijpen worden.

Make scenario: Paden met labels