Break และ next
เพื่อปิดท้ายบทเรียนเรื่องลูป เราจะกลับมาดูแนวคิดของ break และแนวคิดที่เกี่ยวข้องอย่าง next อีกครั้ง เช่นเดียวกับลูป repeat และ while คุณสามารถหยุดการทำงานของลูป for ได้ทันทีด้วยคำสั่ง break และหากต้องการข้ามการวนซ้ำในรอบปัจจุบันแล้วทำต่อในรอบถัดไป ให้ใช้คำสั่ง next ซึ่งมีประโยชน์มากเมื่อลูปพบข้อผิดพลาดบางอย่าง แต่คุณไม่ต้องการให้หยุดการทำงานทั้งหมด
for (value in sequence) {
if(next_condition) {
next
}
code
if(breaking_condition) {
break
}
}
ไม่จำเป็นต้องใช้ทั้ง break และ next พร้อมกันเสมอไป โค้ดด้านบนแสดงเพียงโครงสร้างทั่วไปของการใช้งานทั้งสองคำสั่ง
เหตุผลที่ใช้ next ไว้ที่ต้น ก่อนที่โค้ดจะทำงาน คือเพื่อตรวจสอบปัญหาก่อนที่มันจะเกิดขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
เวกเตอร์ apple ถูกโหลดไว้ใน workspace แล้ว
- แสดงค่าของ
appleจะเห็นว่ามีค่าที่หายไปอยู่บ้าง! - เติมช่องว่างในลูปเพื่อทำสิ่งต่อไปนี้:
- ตรวจสอบว่า
valueเป็นNAหรือไม่ ถ้าใช่ ให้ข้ามไปยังการวนซ้ำรอบถัดไป - ตรวจสอบว่า
valueมากกว่า117หรือไม่ ถ้าใช่ ให้หยุดและขายได้เลย! - หากไม่เข้าเงื่อนไขใด ให้พิมพ์
"Nothing to do here!"
- ตรวจสอบว่า
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print apple
___
# Loop through apple. Next if NA. Break if above 117.
for (value in apple) {
if(is.na(___)) {
print("Skipping NA")
next
}
if(value > ___) {
print("Time to sell!")
break
} else {
print(___)
}
}