Løkker (Gentagelser)

Digidays Sonic Pi # 3

For ikke at skrive et mega langt program med en milliard tegn, så må vi bruge nogle fancy kodestrukturer som "Loops" eller løkker på dansk.

Antal gentagelser løkke

Der er en løkke til at gentage noget et bestemt antal gange. Man skriver antal gange den skal gentage efterfulgt af .times metoden. Herefter skal der være en kodeblok do og end, hvor i mellem vi skriver vores kode.

5.times do 
  play :c2
  sleep 0.25
end

Live Justerbare Løkker

Vi kan gentage en melodi ved at bruge løkker. Et live_loop er en løkke der gentager et stykke kode for evigt. Hvis du ændrer i dens kode, og afspiller, så vil den sætte den nye version i kø til næste gennemgang.

live_loop :musik do
  play :C3
  sleep 0.5
  play :E3
  sleep 0.5
  play :G3
  sleep 0.5
  play :E3
  sleep 0.5
  play :G3
  sleep 0.5
end

Prøv at ændre i koden imellem do og end og derefter tryk “Run” igen. Det er ikke nødvendigt at trykke stop, den vil afspille dit nye kode i næste iteration af loopet.

Øvelsessæt til løkker

Øvelse 1 Lav en løkke der gentager 3 noder 10 gange!

Øvelse 2 Lav 2 live løkker med forskellige navne! Prøv at ændre i noderne imellem og afspil igen.