Sonic Pi - Controle de fluxo

As funções apresentadas agora permitem a construção de uma lógica de programação, ou um fluxograma de possíveis caminhos a serem seguidos pelo software.

if

live_loop :drums do
  
  x = rrand(0,100)
  
  if x > 50
    sample :drum_cymbal_closed, rate: 0.7, amp: 2
  else
    sample :drum_cymbal_pedal, amp: 3
  end
  
  sleep 0.01
  
  #o if também pode ser colocado depois de um comando,
  #sem o uso da condição else e do fechamento end:
  sample :drum_cymbal_hard, amp: 1.8 if x > 80
  
  sleep 0.19
  
end

case

x = 7
case x
  when 1
    puts 1
  when 2
    puts 2
  when 3
    puts 3
  else
    puts '...'
end

x = 2
case x
  when 1 then puts 1
  when 2 then puts 2
  when 3 then puts 3
end