R Untuk Loop


Untuk Loop

Loop digunakan untuk formengulangi urutan:

Contoh

for (x in 1:10) {
  print(x)
}

Ini kurang seperti forkata kunci dalam bahasa pemrograman lain, dan bekerja lebih seperti metode iterator seperti yang ditemukan dalam bahasa pemrograman berorientasi objek lainnya.

Dengan forloop kita dapat mengeksekusi satu set pernyataan, sekali untuk setiap item dalam vektor, array, daftar, dll.

Anda akan belajar tentang daftar dan vektor , dll di bab selanjutnya.

Contoh

Cetak setiap item dalam daftar:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  print(x)
}

Contoh

Cetak jumlah dadu:

dice <- c(1, 2, 3, 4, 5, 6)

for (x in dice) {
  print(x)
}

Loop fortidak memerlukan variabel pengindeksan untuk disetel sebelumnya, seperti dengan whileloop.


Merusak

Dengan breakpernyataan tersebut, kita dapat menghentikan loop sebelum loop melewati semua item:

Contoh

Hentikan loop di "cherry":

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "cherry") {
    break
  }
  print(x)
}

Loop akan berhenti di "cherry" karena kita telah memilih untuk mengakhiri loop dengan menggunakan breakpernyataan when xsama dengan "cherry" ( x == "cherry").


Berikutnya

Dengan nextpernyataan tersebut, kita dapat melewati sebuah iterasi tanpa menghentikan perulangan:

Contoh

Lewati "pisang":

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "banana") {
    next
  }
  print(x)
}

Ketika loop melewati "pisang", itu akan melewatinya dan terus mengulang.


Yahtzee!

If .. Else Dikombinasikan dengan For Loop

Untuk mendemonstrasikan contoh praktis, katakanlah kita memainkan permainan Yahtzee!

Contoh

Cetak "Yahtzee!" Jika angka dadu adalah 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"))
  }
}

Jika loop mencapai nilai mulai dari 1 hingga 5, ia mencetak "No Yahtzee" dan nomornya. Ketika mencapai nilai 6, ia mencetak "Yahtzee!" dan nomornya.


Loop Bersarang

Anda juga dapat memiliki loop di dalam loop:

Contoh

Cetak kata sifat setiap buah dalam daftar:

adj <- list("red", "big", "tasty")

fruits <- list("apple", "banana", "cherry")
  for (x in adj) {
    for (y in fruits) {
      print(paste(x, y))
  }
}