Vroegtijdig retourneren
Soms hoef je niet de hele body van een functie uit te voeren om het antwoord te krijgen. In dat geval kun je vroegtijdig uit die functie terugkeren met return().
Om te controleren of x deelbaar is door n, kun je is_divisible_by(x, n) uit assertive gebruiken.
Als alternatief kun je de modulo-operator %% gebruiken. x %% n geeft de rest bij het delen van x door n, dus met x %% n == 0 bepaal je of x deelbaar is door n. Probeer 1:10 %% 3 == 0 in de console.
Om deze oefening op te lossen, is het handig te weten dat een schrikkeljaar elk 400e jaar is (zoals het jaar 2000) of elk 4e jaar dat geen eeuwjaar is (zoals 1904, maar niet 1900 of 1905).
assertive is geladen.
Deze oefening maakt deel uit van de cursus
Introductie tot functies schrijven in R
Oefeninstructies
- Maak de definitie van
is_leap_year()af. Controleer achtereenvolgens ofyeardeelbaar is door 400, daarna 100, en daarna 4, en keer in elk geval vroegtijdig terug uit de functie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
is_leap_year <- function(year) {
# If year is div. by 400 return TRUE
if(___) {
return(___)
}
# If year is div. by 100 return FALSE
if(___) {
___
}
# If year is div. by 4 return TRUE
___
# Otherwise return FALSE
___
}