Olá, sejam todos bem-vindos a mais um post sobre a linguagem Prisma.
Para começar, ao falar sobre função main, me refiro àquela que várias
linguagens possuem, um conceito de um bloco principal. Isto não
existe em Prisma, como puderam perceber, simplesmente basta digitar os
comandos, funções e variáveis uma após outra e executar.
Porém podemos fazer uma para o programa ficar mais
organizado e para podermos explorar o escopo das variáveis, sua
estrutura básica ficaria assim:
1 2 3 4 5 6 7 8 9 |
funcao main ( narg , args ) //código principal aqui ... fim //chamando main main( #args , args ); |
// args é uma variável reservada do tipo matriz que guarda possíveis argumentos externos e
aplicando o operador tamanho ‘#’ colado a args obtemos o número de argumentos a partir de 1.
Se fôssemos executar nosso programa por uma chamada em linha de comando seria semelhante a:
>prisma.exe nossoprograma.pbrexe argumento1 argumento2
e no programa tivesse a seguinte linha:
1 |
imprima ( args[-1] , args [0], args[1] , args[2] ); |
o resultado seria:
caminho…/prisma.exe caminho…/nossoprograma.pbrexe argumento1 argument2
Escopo das variáveis (global / local );
Imagine agora se por motivos de segurança e organização você quisesse que uma variável
ficasse limitada apenas ao espaço de um bloco de função, e não pudesse ser chamada
de outro lugar a não ser do seu próprio escopo (bloco), diríamos que esta variável é local
e por outro lado, as variáveis visíveis em toda extensão do código diríamos ser variáveis
globais;
Para usar este recurso tenha em mente os seguintes passos:
variável global – todas as variáveis em Prisma são por padrão global.
variável local – ao atribuir basta colocar a palavra reservada local antes da variável.
USO:
segue o código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//exemplo de variáveis locais e globais: funcao mostre_var ( ) imprima ( var1 , var2 ); fim funcao inicie_var ( ) var1 = "Ola!" ; local var2 = "Mundo!"; fim //funcao principal main, poderia ser o nome a seu critério funcao main ( ) inicie_var( ); mostre_var ( ); fim main ( ) ; //chamando main |
O resultado será: Ola! nulo
a segunda variável é local por isso não é visível fora da função
inicie_var ( ) e seu valor fora dela é inexistente: nulo;
Para controlar o escopo das variáveis sem precisar, para isso, fazer
uma função toda vez, podemos criar um bloco de comandos com as
palavras reservadas inicio fim, veja:
1 2 3 4 5 6 7 8 9 10 11 |
inicio local var1 = 1; local var2 = 2; imprima ( var1 , var2 ); //saída será 1 2 fim imprima ( var1 , var2 ); //saída será nulo nulo |