Acabias Marques Luiz Parte 1 – Introdução a linguagem III – Variáveis, constantes e executáveis Variáveis e Constantes Atalhos na manipulação de variáveis Função puts Primeiro programa “Ola Mundo!” Função gets Uma variável é o nome que Ruby associa a um objeto particular. Por exemplo: >> cidade = "Pontal" Ai Ruby associou a string "Pontal" com o nome (variável) cidade. Pense que Ruby fez duas tabelas. Uma com objetos e outra com os nomes deles. Então pense que Ruby desenhou uma seta de cidade para "Pontal". Sempre que Ruby encontra a palavra cidade ele seguirá a seta e chegará até a string "Pontal". Atenção: O nome de variáveis deve começar com uma letra minúscula. Crie sempre bons nomes para as variáveis. O nome da variável deve conter informação sobre o que está contido no objeto. Não tenha medo de criar nomes de variáveis com mais de uma palavra. Apenas faça ficar legível. Aqui estão duas convenções para isso: ◦ idadeEstudante ◦ idade_estudante A forma idadeestudante é nada aconselhável, já que deixa ilegível o código. Você pode manipular variáveis exatamente da mesma forma como você manipula os objetos que eles representam. ATENÇÃO: o computador entenderá como variável var1. Cuidado para não escrever var 1 (Ou seja, escrever com espaço entre as partes do nome). Ao invés de var = var + 2 var = var - 3 var = var * 6 var = var / 2 var = var** 3 var = var % 4 Você pode escrever assim: var += 2 var -= 3 var *= 6 var /= 2 var **=3 var %= 4 Significado Adiciona 2 à var Subtrai 3 de var Multiplica var por 6 Divide var por 2 Eleva var ao cubo Resto da divisão de var por 4 Constantes são variáveis com valor fixo, facilitando o acesso a informação em qualquer parte do programa. Para declarar uma constante, utilize a primeira letra da variável em maiúscula. (lembre-se, variáveis comuns são sempre declaradas com a primeira letra minúscula). Se você tentar mudar o valor de uma constante, Ruby vai emitir um aviso "warning”, mesmo assim o conteúdo da constante será alterado. Antes de escrever o programa, preste muita atenção: ◦ O seu código em Ruby será salvo em um arquivo de texto com a extensão “.rb”. Assim o sistema, ao encontrar arquivos “.rb”, saberá que são códigos em Ruby e, ao dar duplo clique no arquivo, abrirá automaticamente o interpretador. ◦ Utilize o programa SciTE para editar seu códigos fonte. Ele é bastante prático e diferencia as funções do Ruby com cores diferentes. PUTS, ou seja, põe (PUT) uma string (S) na tela. Geralmente as funções do Ruby podem ser chamadas digitando a função e a frente dela os seus parâmetros. A função puts imprime os objetos passados como parâmetros na tela da seguinte forma: >> puts “Ola Mundo” A função puts retorna “nil” (“nil” é o objeto em Ruby para nulo). Continue testando: >> >> >> >> >> >> >> Aqui esperamos a variável número como string porque o operador “+” só funciona quando os objetos são iguais. Lembre-se que o método INTEIRO#.to_s retorna inteiro como string. texto = “Ola “ puts texto puts texto + “mundo!” numero = 2 puts numero puts “DOIS representa o numero “ + numero.to_s puts “DOIS representa o numero “ + “2” Sabemos que o Ruby interpreta linha a linha, mas podemos fazer declarações em várias linhas. Para fazer uma declaração em mais de uma linha você deve, ao final da primeira linha da declaração, inserir uma “\” (barra invertida). >> puts “Ola “ + \ ?> “mundo” (“?>” representa a espera de resposta) Abra o SciTE Vá a Language e escolha Ruby Digite a linha de código abaixo: puts “Ola Mundo!” Após digitar, salve o arquivo como ola.rb. Abra o Prompt de comando do Windows. Navegue até a pasta onde você salvou o arquivo. Depois disso, chame o interpretador Ruby da seguinte maneira: ruby ola.rb Isso chamará o interpretador Ruby e seu programa será executado. “\n” representa nova linha. Se caso você achar necessário imprimir uma string do seu programa em uma nova linha, basta apenas colocar um puts “\n”. Você pode usar: puts “\n” puts “Ola Mundo!” Ou puts “\n” + “Ola Mundo!” O Ruby também permite comentários nos códigos. Para comentar algum trecho do código somente inicie o comentário com o símbolo # (jogo da velha). Lembre-se que o que houver depois do símbolo # na linha do código será ignorado pelo compilador. puts "\n" #Aqui conta uma nova linha puts "Ola Mundo!" #Aqui imprime olá mundo # E aqui já terminou o código! Se você instalou corretamente o pacote “OneClick Installer” do Ruby em seu computador, todos os documentos de texto com extensão .rb será reconhecido pelo sistema como executável Ruby, o que fará com que o sistema automaticamente chame o interpretador. Basta dar o duplo clique no arquivo fonte! Faça mais com o Ruby! Crie programas! Invente! Mas, atenção: Só use o IRB para testes. A partir de agora salve os códigos de seus programas em arquivos para serem executados a partir deles. num1 = 2 + 4 + 6 + 8 num 1 /= 5 num2 = 2 * 3 * 4 num2 -= num1 puts "A resposta eh " + num2.to_s Atenção, num2.to_s retorna uma string, e por isso utilizamos ela. Não se esqueça que o operador “+” só funciona quando os objetos tratados são da mesma classe. GETS, ou seja, pega (GET) uma string (S) do teclado. A função gets recebe os caracteres do teclado e guarda em uma string. >> nome = gets A função gets retorna “\n” se não houver entrada de nenhum caractere. Toda vez que a função gets é chamada, a variável que a chama recebe, no final da string, o “\n”. (lembra-se? “\n” é significa nova linha) Para retirar o “\n” da string é só usar o método String#.chomp. Verifique no IRB: >> >> >> >> nome = gets nome ;perceba o \n nome = nome.chomp nome ;nome já sem o \n Em seus programas, ao chamar gets você já pode chamá-lo utilizando o método chomp. >> nome = gets.chomp >> nome Vamos fazer um teste com gets? puts “\nEntre com seu nome: “ nome = gets.chomp puts “\nSeu nome eh: “ + nome puts “\nEntre com outro nome: “ nome2 = gets.chomp.reverse #Aqui dois métodos são chamados juntos puts “\nEsse outro nome ao contrario fica: “ + nome2 Com gets podemos entrar com caracteres do teclado, certo? Como sabemos converter strings em números, vamos agora “pegar” números do teclado usando o gets. Atenção: antes de converter para você deve retirar o “\n”. puts "\nEntre com um numero: " num1 = gets.chomp.to_i # “pega”, tira o “\n” e converte puts "\nVoce entrou com o numero " + num1.to_s puts "\nEntre com outro numero: " num2 = gets.chomp.to_i puts "\nVoce entrou com o numero " + num2.to_s soma = num1+num2 puts "\n " + num1.to_s + " mais " + num2.to_s + " = " + soma.to_s