Blocos

Uma estrutura que você verá muito no Sonic Pi são os blocos. Blocos nos permitem fazer coisas úteis com pedaços grandes de código. Por exemplo, com os parâmetros de Synth e Sample somos capazes de mudar algo em uma única linha. Entretanto, as vezes nós queremos fazer algo significativo a um número grande de linhas de código. Por exemplo, nós podemos querer fazer um loop com o bloco, para adicionar reverberação (reverb) a ele, executá-lo somente uma vez em 5, etc. Considere o seguinte código:

play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62

Para fazermos algo com um bloco de código, precisamos dizer ao Sonic Pi onde o bloco começa e onde ele termina. Nós usamos do for iniciar e end para terminar. Por exemplo:

do
  play 50
  sleep 0.5
  sample :elec_plip
  sleep 0.5
  play 62
end

Entretanto, isso não está completo ainda e não irá funcionar (tente e você receberá um erro) já que não dissemos ao Sonic Pi o que queremos fazer com este bloco do/end. Dizemos isto ao Sonic Pi escrevendo comandos especiais antes do do. Veremos vários destas partes especiais de código mais tarde neste tutorial. Por enquanto é importante saber que envolvendo seu código com do e end você diz ao Sonic Pi que deseja fazer algo especial com este pedaço de código.