| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2008 11:09:35
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
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/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2008 12:56:19
|
Adriano Almeida
JavaEvangelist
![[Avatar]](/images/avatar/080eb9c2c128e1337fcc84d8680f404c.jpg)
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

|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2008 13:24:00
|
von.juliano
GUJ Master
![[Avatar]](/images/avatar/efb61dd984183066a8815190a28bd956.jpg)
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/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2008 13:38:45
|
Adriano Almeida
JavaEvangelist
![[Avatar]](/images/avatar/080eb9c2c128e1337fcc84d8680f404c.jpg)
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

|
|
|
 |
|
|