Wczesny powrót z funkcji
Czasami nie trzeba przechodzić przez całe ciało funkcji, żeby uzyskać wynik. W takim przypadku możesz zakończyć jej działanie wcześniej, używając return().
Aby sprawdzić, czy x jest podzielne przez n, możesz użyć is_divisible_by(x, n) z pakietu assertive.
Alternatywnie skorzystaj z operatora modulo %%. Wyrażenie x %% n zwraca resztę z dzielenia x przez n, a więc x %% n == 0 sprawdza, czy x jest podzielne przez n. Wypróbuj 1:10 %% 3 == 0 w konsoli.
Aby rozwiązać to ćwiczenie, musisz wiedzieć, że rok przestępny to każdy rok podzielny przez 400 (np. rok 2000) lub każdy rok podzielny przez 4, który nie jest rokiem stulecia (np. 1904, ale nie 1900 ani 1905).
Pakiet assertive jest załadowany.
To ćwiczenie jest częścią kursu
Wprowadzenie do pisania funkcji w R
Instrukcje do ćwiczenia
- Uzupełnij definicję funkcji
is_leap_year(), sprawdzając kolejno, czyyearjest podzielny przez 400, 100, a następnie przez 4 – w każdym przypadku kończąc działanie funkcji wcześniej.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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
___
}