Table of Contents

Subroutine

Formato

subroutine subroutinename ( lista de variáveis )
statements
end subroutine

subroutine subroutinename$ ( lista de variáveis )
statements
end subroutine

Descrição

Cria uma sub-rotina (ou subprograma) que vai receber zero ou mais valores e processar esses valores. A sub-rotina ao contrário da Function não devolve um valor. A execução de uma sub-rotina será encerrada e o controle será devolvido à “ Call ” quando a instrução Return é executada ou quando a sub-rotina termina com End . Todas as variáveis ​​utilizadas dentro da sub-rotina, que não tenham sido previamente declarados como Global, são locais para a sub-rotina e não irão alterar os valores no código de chamada.

As variáveis da ​​sub-rotina podem uma lista, numérica ou variáveis ​​de cadeia alfanumérica. Arrays e variáveis ​​podem ser passados ​​por referência usando Ref.

Sub-rotinas devem ser definidos na parte inferior do programa, e não podem ser definidas dentro de outra Function, Subroutine ou bloco de controle ( If/Then, Do/Until, …)

Exemplo

# 100 random circles
clg
for x = 1 to 100
   call draw()
next x
end

function rnd(n)
   rnd = int(rand*n)
end function

subroutine draw()
   color rnd(256),rnd(256),rnd(256)
   circle rnd(graphwidth), rnd(graphheight), rnd(graphwidth/10)
end subroutine

draws
Circles

Ver também

Call, Function, Global, Ref, Return

Desde a versão

0.9.9.1