Acabias Marques Luiz Parte 1 – Introdução a linguagem II – Strings, objetos e classes 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). Algumas coisas que você pode fazer com as strings no Ruby: string * numero_de_vezes Nã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. string1 + string2 Retorna 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. 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. - 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. string.método Retorna 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 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. Método String#to_i String#to_f Float#to_i Float#to_s Inteiro#to_f Inteiro#to_s Conversão De string string float float inteiro inteiro Para inteiro float inteiro string float string