R 有一組運算子,和其他許多程式語言相同:
1 == 2 # FALSE
1 != 2 # TRUE
1 < 2 # TRUE
1 > 2 # FALSE
1 <= 2 # TRUE
1 >= 2 # FALSE
if-else 的基本形式是
if (x > 10) {
y <- "big"
} else if (x > 2) {
y <- "medium"
} else {
y <- "tiny"
}
在這個情況下,布林值周圍的小括號 () 和敘述周圍的大括號 {} 都是必需的。
簡單的if敘述可以縮短:
if (x == 0) return("success")
在這道練習中,你會撰寫程式碼來分析汽車工廠組裝線的生產情形。組裝線的速度可以從0(關閉)到10(最大)。
在最低速度(1)下,每小時會生產221輛車。產量會隨速度呈線性成長,所以當速度設為4時,每小時應該生產4 * 221 = 884輛車。不過,速度越快,就越可能生產出有瑕疵的車輛,這些車之後必須被丟棄。
這道練習共有三個任務喔。
實作success_rate()方法,計算在指定速度下,產品能被正確製造出來的比率。以下列出速度對成功率的影響:
0:成功率 0%。1到4:成功率 100%。5到8:成功率 90%。9:成功率 80%。10:成功率 77%。success_rate(10)
# => 0.77
實作production_rate_per_hour()方法,計算組裝線每小時的生產速率,並把成功率納入考量:
production_rate_per_hour(6)
# => 1193.4
注意,回傳的值是double。
實作working_items_per_minute()方法,計算每分鐘能生產多少輛可用的車:
working_items_per_minute(6)
# => 19
注意,回傳的值是整數:未完成的項目不會計入。