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.
Se você gostou desse texto e acha que ajudou você, me recomende:
.
Posted in
Ruby at novembro 18th, 2008.
No Comments.
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:
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:
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:
.
Posted in
Ruby at novembro 18th, 2008.
2 Comments.
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
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.
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:
.
Posted in
Ruby at novembro 16th, 2008.
No Comments.
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:
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:
.
Posted in
Ruby at novembro 16th, 2008.
No Comments.
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:
.
Posted in
Ruby at novembro 16th, 2008.
No Comments.
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:
.
Posted in
Ruby at novembro 16th, 2008.
No Comments.
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.
Resultado: “Hello”
Escreve a string de trás para frente.
Resultado: “olleh”
Imprime a próxima letra do alfabeto.
Resultado: “hellp”
Deixa todas as letras em maiúsculo.
Resultado: “HELLO”
Deixa todas as letras em minúsculo.
Resultado: “hello”
Deixa as letras em maiúsculo em minúsculo e vice-versa.
Resultado: “hELLo”
Se você gostou desse texto e acha que ajudou você, me recomende:
.
Posted in
Ruby at novembro 16th, 2008.
No Comments.