Break och next
För att avsluta genomgången av slingor återvänder vi till break, och det relaterade begreppet next. Precis som med repeat- och while-slingor kan du avbryta en for-slinga helt med break. Om du däremot bara vill hoppa över den aktuella iterationen och fortsätta slingan använder du next. Det kan vara användbart när slingan stöter på ett fel, men du inte vill att det ska stoppa hela körningen.
for (value in sequence) {
if(next_condition) {
next
}
code
if(breaking_condition) {
break
}
}
Du behöver inte använda break och next samtidigt – exemplet ovan visar bara den allmänna strukturen.
Tanken med att använda next i början, innan koden körs, är att kontrollera om ett problem finns innan det uppstår.
Den här övningen är en del av kursen
R för finans – fortsättningskurs
Övningsinstruktioner
Vektorn apple finns i din arbetsmiljö.
- Skriv ut
apple. Det finns några saknade värden! - Fyll i luckorna i slingan så att den gör följande:
- Kontrollera om
valueärNA. Om så är fallet, gå till nästa iteration. - Kontrollera om
valueär större än117. Om så är fallet, avbryt och sälj! - Annars skriv ut
"Nothing to do here!".
- Kontrollera om
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(___)
}
}