Introdução Bem-vindo Como Começar Meu Primeiro Programa     Resolvendo Problemas e Distribuindo Tranformando Dados Programas Interativos     Exercícios de Programação     Fazendo Games
Documentação Declarações     Procedimentos     Variáveis Construtores     Controle de Fluxo Expressões Bibliotecas     Print     IO     Random     Game Engine
Tutoriais Tutoriais Completos     Introdução à Programação     Guia Rápido     Exercícios de Programação     Programando Games

BIBLIOTECA: IO


Tudo Sobre a Biblioteca IO no Vizzcode





Sobre a Biblioteca IO

A biblioteca IO te permite imprimir valores e ler valores do console de comandos.
IO significa Input/Output ou Entrada/Saída e representa que essa biblioteca contém os procedimentos para tanto ler e escrever para o usuário.

Assim como a biblioteca Print, a biblioteca IO é feita para programas que são aplicações de console (programas que você não importou a biblioteca the Game Engine).
A biblioteca inteira de Print está dentro do IO então você não precisa (e na verdade, não pode – por causa da redefinição de identificadores) importar ambas as bibliotecas.
Com a biblioteca IO (além de conseguir imprimir todos os tipos da mesma forma que a biblioteca Print), você também pode ler (ou scan) a entrada do usuário. Isso funciona tanto para entrada de texto (qualquer coisa que o usuário digitar) e ints (números inteiros) que o usuário digitar.




Como Usar

Tudo que você precisa fazer é importar a biblioteca IO:

#import
"IO"

Importando a biblioteca IO

Em seguida, você pode chamar seus procedimentos em qualquer lugar do código. Por exemplo:
#import
"IO"


main
:: () {
    nome :=
scan
(
"Qual o seu nome?"
);
    
print
(
"Ola, "
);
    
print
(nome);

    numero :=
scan_int
(
"Digite um numero: "
);
    
print
(
"Esse numero ao quadrado e: "
);
    
print_int
(numero * numero);
}

Example of the IO library





API Completa

scan

Essa é a declaração do procedimento scan:
scan
:: (mensagem :=
""
) -> valor :
string
{

Esse procedimento imprime a mensagem, que recebe como parâmetro, para o usuário e espera pela entrada do usuário.
O usuário pode escrever o que quiser e precisa apertar a tecla ENTER para enviar a mensagem.
A mensagem que o usuário escrever é retornada pelo procedimento scan como o valor do tipo string por parâmetro.

Você pode chamar passando o valor de uma string ou apenas o valor padrão (string vazia - que significa sem mensagem):
#import
"IO"


main
:: () {
    entrada :=
scan
(
"Digite uma mensagem: "
);
}

Como usar o procedimento scan

#import
"IO"


main
:: () {
    entrada :=
scan
(
"Digite uma mensagem: "
);

    
print
(
"Voce digitou: "
);
    
print
(entrada);
}

Lendo uma mensagem do usuário



scan_int

Essa é a declaração do procedimento scan_int:
scan_int
:: (mensagem :=
""
) -> valor :
string
, sucesso :
bool
{

Esse procedimento imprime a mensagem que receber como parâmetro para o usuário e espera pela entrada do usuário.
O usuário escreve algum texto e aperta ENTER para enviar.
Se o texto for um número inteiro válido, o procedimento retorna o número digitado como um int no valor da variável, e retorno o sucesso como verdadeiro.
Se o texto não for um int válido, o procedimento retorna o valor zero e sucesso como falso.
Você pode obter mais informações sobre ler múltiplos valores retornados com declarações compostas.

Você pode chamar ele passando um valor do tipo string ou apenas usar o valor padrão (string vazia - que significa sem mensagem):
#import
"IO"


main
:: () {
    numero, sucesso :=
scan_int
(
"Digite um numero: "
);
}

Lendo um número do usuário

#import
"IO"


main
:: () {
    numero, sucesso :=
scan_int
(
"Digite um numero: "
);

    
if
sucesso {
        
print
(
"Voce digitou um numero valido: "
);
        
print_int
(numero);
    }
else
print
(
"Voce digitou um numero invalido!"
);
}

Usando scan_int com segurança



print

Essa é a declaração do procedimento print:
print
:: (mensagem :=
"Ola!\n"
) {

Ele funciona da mesma forma que na biblioteca Print.
Você chama ele passando um valor do tipo string ou também pode usar o valor padrão:
#import
"IO"


main
:: () {
    
print
();
    
print
(
"Mensagem customizada
);
    var :
string
=
"Variavel"
;
    
print
(variavel);
}

Como usar o procedimento print



print_int

Essa é a declaração do procedimento print_int:
print_int
:: (valor :
int
) {

Ele funciona da mesma forma que na biblioteca Print.
Você pode chamar ele passando um valor do tipo int:
#import
"IO"


main
:: () {
    
print_int
(
123
);
    
print_int
(
456
+
789
);
    var :
int
=
10
;
    
print_int
(var);
}

Como mostrar números no Vizzcode



print_float

Essa é a declaração do procedimento print_float:
print_float
:: (value :
float
) {

Ele funciona da mesma forma que na biblioteca Print.
Você pode chamar passando um valor do tipo float:
#import
"Print"


main
:: () {
    
print_float
(
123
);
    
print_float
(
123.456
);
    
print_float
(
11.22
+
33.44
);
    var :
float
=
10
;
    
print_float
(var);
}

Como o procedimento print float funciona no Vizzcode



print_bool

Essa é a declaração do procedimento print_bool:
print_bool
:: (value :
bool
) {

Ele funciona da mesma forma que na biblioteca Print.
Você pode chamar ele passando um valor do tipo bool:
#import
"IO"


main
:: () {
    
print_bool
(
true
);
    
print_bool
(
100
<
56
);
    var :
bool
=
"Lobo"
!=
"Leao"
;
    
print_bool
(var);
}

Usando o procedimento print bool