O structura pe care o vei intalni adesea in Sonic Pi este blocul. Blocurile iti permit sa faci lucruri utile cu bucati mari de cod. De exemplu, cu comanda synth si cativa parametri am reusit sa schimbam ceva ce a influentat o singura linie. Totusi, uneori vrem sa facem astfel de modificari care sa influenteze mai multe linii de cod. De exemplu, am putea dori sa le reluam in bucla (loop), sa adaugam un efect reverb, sa le rulam doar 1 data din 5, etc. Sa analizam codul urmator:
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
Pentru a actiona asupra unei bucati de cod, trebuie sa transmitem catre Sonic Pi unde incepe si unde se termina. Folosim ‘do’ pentru inceput si ‘end’ pentru sfarsit. De exemplu:
do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
Totusi, nu este inca suficient si bucata respectiva nu functioneaza (incearca sa o executi si vei primi un mesaj de eroare) deoarece nu am transmis Sonic Pi ce vrem sa faca cu acest bloc do/end. Putem transmite acest lucru catre Sonic Pi scriind comenzi specifice inainte de ‘do’. Vom vedea mai multe astfele de bucati de cod mai tarziu pe parcursul tutorialului. Pentru moment este important de stiut ca delimitand o parte din cod cu ‘do’ si ‘end’ Sonic Pi va sti ca vrei sa faci ceva special cu acea bucata.