Post on 07-Jan-2016
description
Programação em Ruby
Parte I – Introdução a Linguagem
Acabias Marques Luiz
Assuntos Abordados
II – Strings, objetos e classes
Parte 1 – Introdução a linguagem
Strings
Objetos, classes e métodos
Convertendo entre classes
A palavra que usamos para grupos de letras é string. Aqui estão algumas strings:
“Oi!” “Qual a sua idade?” "5 é o meu número favorito... e o seu?" "Snoopy disse: #%^?&*@!"
Perceba que as strings estão e estarão sempre entre aspas duplas “”.
1 (inteiro) é diferente de “1” (string).
Strings
Algumas coisas que você pode fazer com as strings no Ruby:
Truques
string * numero_de_vezesNão esqueça que * é um operador aritmético de multiplicação.
Exemplo:
>> “oi “ * 3
Observe que depois de oi há um espaço, e depois fecha aspas. Isso representa que o espaço também está na string e também deve ser repetido.
Repetição controlada de uma string:
string1 + string2Retorna a string1 junto com a string2
Exemplo:
>> “Ola “ + “Mundo”
Observe que “Ola Mundo” foi só um retorno. Não juntou em string1 o conteúdo de string2, mas retornou dessa forma.
Concatenação de Strings
Os operadores condicionais funcionam perfeitamente em Strings.
Para verificar, por exemplo, se a string “a” é menor que a string “b” o Ruby compara os caracteres com o código ASCII.
Comparando Strings
- Objeto: É apenas uma peça de informação. Como o número 3 ou o texto “ola”.
- Classe: Ruby separa tudo em classes como inteiros, decimais e strings.
- Método: Estas são as coisas que você pode fazer com o objeto.
Por exemplo, é possível deixar um objeto de texto em maiúscula utilizando o método .capitalize da classe string.
Objeto, Classe e Método
string.métodoRetorna a string modificada pelo método
.capitalize string toda em maiúscula. >> “ola”.capitalize
.reverse string ao contrário. >> “ola”.reverse
.next string com o seu último caractere trocado pelo seu próximo correspondente na tabela ASCII.
>> “ola”.next
.length tamanho da string.>> “ola”.length
Métodos da classe String
Diferentes classes possuem diferentes métodos.
- Divisão (/) não trabalha igual com integer (inteiros) e floats (decimais).
- Adição (+) não trabalha igual com strings (texto) e com integers (inteiros).
- Strings contém uma variedade de métodos que integers e floats não têm (exemplo: downcase, length, upcase, etc.).
Ruby usa a notação Classe#método para definir exatamente qual método procuramos. Por exemplo, posso dizer Inteiro#+ para diferenciá-lo de Float#+ e String#+. Eu posso dizer que String#upcase existe, mas Inteiro#upcase não existe.
Notação Classe#Método
MétodoConversão
De ParaString#to_i string inteiroString#to_f string floatFloat#to_i float inteiroFloat#to_s float stringInteiro#to_f inteiro floatInteiro#to_s inteiro string
Convertendo entre classes