Removendo \n de uma string lida do teclado em Ruby

No artigo anterior eu expliquei como ler um valor do teclado: http://patrickespake.wordpress.com/2008/11/18/como-receber-dados-do-teclado-no-ruby/.

Esse programa tem um problema, se você tentar concatenar uma string depois da variável linguagem a string vai ficar em uma nova linha.

Isso aconteceu porque quando você digitou o valor no teclado pressionou a tecla “enter” desta forma foi adicionado um \n no final da string.

Existe um método de string chamado chomp, esse método remove o \n (caracter de nova linha).

Então vamos arrumar o nosso programa.

1
2
3
4
5
puts "Qual a sua linguagem de programação favorita?"
linguagem = gets
linguagem = linguagem.chomp
 
puts "Sua linguagem favorita é: " + linguagem + "."

Executando você terá o resultado:

1
2
3
4
patrick@espake:~/projetos/algoritmos$ ruby gets.rb
Qual a sua linguagem de programação favorita?
Ruby
Sua linguagem favorita é: Ruby.

Perceba que o caracter “.” no final não foi quebrado para uma nova linha, tudo isso graças ao método chomp.

Se você quiser pode chamar o método chomp no gets, funciona também.

1
linguagem = gets.chomp

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 18th, 2008. No Comments.

Como receber dados do teclado no Ruby

Ruby é uma linguagem de programação fantástica e tudo na sua sintaxe foi pensando com muita inteligência e praticidade.

Vou explicar como obter valores do teclado, no final você vai dar risada com a simplicidade.

Crie um arquivo chamado gets.rb e adicione o seguinte conteúdo:

1
2
3
4
puts "Qual a sua linguagem de programação favorita?"
linguagem = gets
 
puts "Sua linguagem favorita é: " + linguagem

Agora execute:

1
ruby gets.rb

Você terá o seguinte resultado:

1
2
3
4
patrick@espake:~/projetos/algoritmos$ ruby gets.rb
Qual a sua linguagem de programação favorita?
Ruby
Sua linguagem favorita é: Ruby

Como funciona?

Simples! O comando:

1
linguagem = gets

lê o teclado e joga o valor para a variável linguagem. Pronto!

Por isso que eu adoro o Ruby, simples, rápido e inteligênte. ;-)

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 18th, 2008. 2 Comments.

Webservice de CEPS

Eu conheço dois webservices legais para busca de informações de ceps.

1) Webservice da Locaweb:
Url: http://comercio.locaweb.com.br/correios/calcula_sedex.asp?cod_sedex=40010&cepOrig=70059900&cepDest=70059900&pesoDeclarado=1&vlrDeclarado=1,00&metodo=leitura

Resultado:

1
2
3
4
5
6
7
8
OK
Endereco: Esplanada dos Ministérios Bloco F Ministério da Previdência e Assistência Social
Bairro: Zona Cívico-Administrativa
Cidade: Brasília
UF: DF
CEP: 70059900
Frete: 9,41
erro_descricao:

Esse webservice é bacana, porque através dele é possível obter o valor do frete do sedex. Através dos parâmetros cepOrig e cepDest você pode obter o resultado desejado.

2) Webservice da República Virtual:
Url: http://usp.republicavirtual.com.br/web_cep.php?cep=70059900

resultado:

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="iso-8859-1" ?>
<webservicecep>
<resultado>1</resultado>
<resultado_txt>sucesso - cep completo</resultado_txt>
<uf>DF</uf>
<cidade>Bras?a</cidade>
<bairro>Zona C?co-Administrativa</bairro>
<tipo_logradouro>Esplanada</tipo_logradouro>
<logradouro>Minist?os Bloco F</logradouro>
</webservicecep>

A base da Locaweb é mais completa e se parece mais com a base dos Correios, já a base da República Virtual não é tão completa.

O bacana da República Virtual que retorna em XML, já a da Locaweb retorna em HTML (o que fica meio chato de parsear).

Posted in WEB at novembro 17th, 2008. No Comments.

Bernardo, Eu e o Nei no Yahoo! Hack Day 2008

Bernardo, Eu e o Nei no Yahoo! Hack Day 2008

Bernardo, Eu e o Nei no Yahoo! Hack Day 2008

Lá no Yahoo! Hack Day 2008 nós montamos uma equipe formada por mim, Bernardo e o Nei, para construção do projeto da HackTrip.

Viramos a noite programando, foram 24 horas corridas para desenvolver o nosso projeto. Apesar de ser cansativo foi muito bacana.

Posted in Projetos at novembro 17th, 2008. No Comments.

which ruby

O comando which ruby mostra em qual diretório o Ruby está instalado.

No meu caso ele retorna o seguinte:

1
2
patrick@espake:~/projetos/algoritmos$ which ruby
/usr/local/bin/ruby

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 16th, 2008. No Comments.

Ruby variáveis e constantes

Em Ruby as variáveis sempre começam com letra minúscula e as constantes começam com letras maiúsculas.

Definindo uma variável:

1
nome = "Patrick Espake"

Definindo uma constante:

1
Chave = "a34fdkc090a"

Se você tentar alterar o valor de uma constante o Ruby irá dar um warning (“warning: already initialized constant Chave”).

Mesmo dando o warning o Ruby irá permitir a alteração do valor da constante.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 16th, 2008. No Comments.

Ruby verificando se um objeto é de uma determinada classe

No Ruby existe o método is_a para testar se um objeto é de uma determinada classe. No Ruby tudo é objeto.

Digamos que você queira descobrir se um número é da classe Integer, Float ou String. Você pode testar isso da seguinte forma abra o irb no terminal:

1
2
3
4
5
6
irb(main):001:0> 15.is_a?(Integer)
=> true
irb(main):002:0> 15.is_a?(Float)
=> false
irb(main):003:0> 15.is_a?(String)
=> false

O método is_a retorna true ou false.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 16th, 2008. No Comments.

Ruby métodos de conversão to_i, to_s, to_f

Em Ruby existe os métodos de conversão de valores to_i (converte para inteiro), to_s (converte para string) e to_f (converte para float).

Por exemplo:

1
2
3
4
5
10.to_s transforma para "10"
"15".to_i transforma para 15
"espake".to_i transforma para 0
1.5.to_i transforma para 1
4.to_f transforma para 4.0

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 16th, 2008. No Comments.

Métodos de formatação de strings em Ruby

Em Ruby existe algumas coisas legais que são possíveis fazer com uma string. Existe os métodos capitalize, reverse, next, upcase, downcase e swapcase que permitem formatar uma determinada string.

Vá no terminal e digite irb.

Agora veja os resultados dos seguintes métodos para strings:

Deixa a primeira letra em maiúsculo.

1
"hello".capitalize

Resultado: “Hello”

Escreve a string de trás para frente.

1
"hello".reverse

Resultado: “olleh”

Imprime a próxima letra do alfabeto.

1
"hello".next

Resultado: “hellp”

Deixa todas as letras em maiúsculo.

1
"hello".upcase

Resultado: “HELLO”

Deixa todas as letras em minúsculo.

1
"HELLO".downcase

Resultado: “hello”

Deixa as letras em maiúsculo em minúsculo e vice-versa.

1
"HellO".swapcase

Resultado: “hELLo”

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

Posted in Ruby at novembro 16th, 2008. No Comments.

Apresentação do Projeto HackTrip no Yahoo! Hack Day 2008

Posted in Projetos at novembro 12th, 2008. No Comments.
 Assinar RSS Feed