Dúvidas básicas de Ruby  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

Olá pessoal, estava fazendo um programa simples em Ruby quando me deparei com algumas dificuldades. Vamos lá:

Só aí já tenho várias dúvidas:
A parte comentada, referente ao throw e ao catch, a idéia é lançar a exceção no caso do valor estar vazio, porém se eu descomentar essa parte (e comentar a linha do raise), o bloco catch sempre é executado ANTES mesmo de informar os dados. Pq isso acontece?

As comparação cadeia.empty? e cadeia.nil? SEMPRE me retornam false, independente do valor informado.

A forma como fiz o for e o raise estão corretas? Quero dizer, essa é a melhor forma de se fazer?

São dúvidas básicas, mas tô apanhando! Obrigado pessoal!

This message was edited 1 time. Last update was at 15/04/2008 11:09:53


É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
Adriano Almeida
JavaEvangelist
[Avatar]

Membro desde: 13/09/2006 15:29:34
Mensagens: 386
Offline

Von,

o "gets" vai adicionar dentro do resultado dele o enter, portanto, nunca ele será nil ou empty. O seu uso do raise até está correto. No final das contas ficaria mais ou menos assim.

raise Exception.new("Qtde tem que ser maior q zero") if cadeia.length == 1


Outra coisa... utilize os padrões de nomenclatura...

métodos sempre underscored, ou seja, verificaCadeia ficaria verifica_cadeia. Dê nomes mais legíveis pra classe, afinal, que raios é AF?

Outra coisa, não precisa colocar os "()" na declaração do seu método e nem na chamada dele.

Twitter: @adrianoalmeida7
http://ahalmeida.com
http://blog.caelum.com.br

von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline

Oi pafuncio, vlw pelas dicas, vamos lá:
pafuncio wrote:o "gets" vai adicionar dentro do resultado dele o enter, portanto, nunca ele será nil ou empty.

Como assim adicionar o enter? Imaginei que seria uma String vazia!
Outra coisa... utilize os padrões de nomenclatura...

métodos sempre underscored, ou seja, verificaCadeia ficaria verifica_cadeia.

Outra coisa, não precisa colocar os "()" na declaração do seu método e nem na chamada dele.

Sabe como é... força do hábito!

afinal, que raios é AF?

Autômato Finito, essa classe é um exercicio que eu fiz outro dia, resolvi fazer em Ruby, só pra exercitar!

Quanto ao problema do catch, sabe por que acontece? Alias, qual é o método correspondente ao charAt do java?

Vlw!

É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
Adriano Almeida
JavaEvangelist
[Avatar]

Membro desde: 13/09/2006 15:29:34
Mensagens: 386
Offline

von.juliano wrote:Oi pafuncio, vlw pelas dicas, vamos lá:
Como assim adicionar o enter? Imaginei que seria uma String vazia!



http://ruby.about.com/od/learnruby/p/gets_n_puts.htm wrote:
the gets method halts program execution and waits for the user to type in a line of text, returning that text after the user presses Enter. Notice that the return value includes the newline character which can be removed by adding the String#chomp! method as follows.



von.juliano wrote:
Sabe como é... força do hábito!

Normal, direto esqueço também.

This message was edited 1 time. Last update was at 15/04/2008 13:39:24


Twitter: @adrianoalmeida7
http://ahalmeida.com
http://blog.caelum.com.br

 
Índice dos Fóruns » Ruby & Ruby on Rails
Ir para:   
Powered by JForum 2.1.8 © JForum Team