提前回傳
有時候,你不需要執行整個函式本體就能得到答案。這種情況下,你可以使用 return() 提前從函式回傳。
若要檢查 x 是否可被 n 整除,你可以使用 assertive 的 is_divisible_by(x, n)。
或者,使用取餘數運算子 %%。x %% n 會回傳 x 除以 n 的餘數,所以 x %% n == 0 就能判斷 x 是否可被 n 整除。試著在主控台輸入 1:10 %% 3 == 0。
要解這題,你需要知道:閏年是每逢第 400 年(例如 2000 年),或是每逢第 4 年但不是整百年(例如 1904 年,但不是 1900 年或 1905 年)。
已載入 assertive。
本練習屬於課程
R 函式撰寫入門
練習說明
- 完成
is_leap_year()的定義,依序檢查year是否可被 400、接著 100、再來 4 整除,並在每一種情況下提前從函式回傳。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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
___
}