R cho vòng lặp
Đối với vòng lặp
Vòng lặp for
được sử dụng để lặp lại một chuỗi:
Điều này ít giống với từ khóa for
trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác.
Với vòng lặp for
, chúng ta có thể thực thi một tập hợp các câu lệnh, một lần cho mỗi mục trong một vectơ, mảng, danh sách, v.v.
Ví dụ
In mọi mục trong danh sách:
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
Hãy tự mình thử » Vòng lặp for
không yêu cầu đặt trước một biến chỉ mục, giống như vòng lặp while
.
Phá vỡ
Với câu lệnh break
, chúng ta có thể dừng vòng lặp trước khi nó lặp qua tất cả các mục:
Ví dụ
Dừng vòng lặp tại "cherry":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
Hãy tự mình thử » Vòng lặp sẽ dừng ở "cherry" vì chúng ta đã chọn kết thúc vòng lặp bằng cách sử dụng câu lệnh break
khi x
bằng "cherry" ( x == "cherry"
).
Kế tiếp
Với câu lệnh next
, chúng ta có thể bỏ qua một lần lặp mà không cần kết thúc vòng lặp:
Ví dụ
Bỏ qua "chuối":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
Hãy tự mình thử »Khi vòng lặp đi qua "quả chuối", nó sẽ bỏ qua và tiếp tục lặp.
Yahtzee!
If .. Else Kết hợp với vòng lặp For
Để minh họa một ví dụ thực tế, giả sử chúng ta chơi trò chơi Yahtzee!
Ví dụ
In "Yahtzee!" Nếu số xúc xắc là 6:
dice <- 1:6
for(x in dice) {
if (x == 6) {
print(paste("The dice number is", x, "Yahtzee!"))
} else {
print(paste("The dice number is", x, "Not Yahtzee"))
}
}
Hãy tự mình thử »Nếu vòng lặp đạt đến các giá trị từ 1 đến 5, nó sẽ in "No Yahtzee" và số của nó. Khi đạt đến giá trị 6, nó sẽ in "Yahtzee!" và số của nó.