Selecionar valores válidos por regexp dentro de um case
|
|
Pra desinibir a galera vou lançar aqui uma solução grossa do seguinte problema: Tem-se por definição que um método recebe um valor, o valor é um nome de fruta(fruta mesmo… vegetal :) em um mecanismo de detecção que analisa o inicio do nome da fruta temos uma separação entre “iniciadas com ‘a’, iniciadas com ‘m’ e um grupo iniciadas com ‘c’ ou ‘l’ ou ‘b’” somente se a fruta for conhecida(constante FRUTAS). Primeira Sugestão: def teste(valor)
|
|
|
Shairon, O processamento para cada case seriam muito diferentes? Senão dá pra cortar o case por completo. |
|
|
Sim E tem que verificar se a fruta é válida também. |
|
|
Bom, verificar se é válido pode ser com um include? Vejamos se melhora: PS: Gostei dessa divisão do fórum. Me força a pensar em soluções mais simples para os meus códigos. =) |
|
|
Olha… não entendi direito… mas aqui vai minha tentativa :) |
|
|
Oh Rodrigão ficou meio gateado esses ifs aê :) Mereghost, A regexp sua equivale à Sendo que a lista a-c contém b e o ‘ou’ é implícito dentro dos [ ]. leves modificações… e aì? |
|
|
Opa! POW é o que liga! Bah… eu me esforço com Regexes, mas sempre esqueço de fazer do modo fácil. =p |
|
|
Minha contribuição tb, não tem muito o que mexer: |
|
|
Uma versão um pouco mais esotérica, aproveitando métodos singletons do Ruby e levando para o lado DSL: Só não gostei mesmo foi de ter que adicionar os “returns” Acho q ficaria melhor criar uma classe inteira “Fruta” que fizesse polimorfismo com a letra inicial. Mas isso depende de quantas vezes você vai querer comportamentos diferentes pras frutas. Se for só para esse aí, nem vale a pena, mas no segundo “case” eu já faria :) Com o methodphitamine, a dá pra melhorar um pouco o: trocando ligeiramente por: |
|
|
Na verdade bagaça devia ser uma classe, ainda precisa dar um tchan pra verificar se o metodo existe antes de chamar, será esse codigo mais um pog?:) |
|
|
starts_with não é um método Matz na versão 1.8(ainda). É um método DHH por enquanto. Mais ficou doido. |
|
|
Oh Big Rabbit, esse método aê não faz nada :) é um POGão, hahahah. |
|
|
po mas claro que tem utilidade…eu aprendi essa historia de send faz 2 dias e já usei em 3 coisa difentes(uma delas foi aqui mas são 3 né ;)), muito bom ruby, lembra muito o matlab, ainda bem que eu não quiz ir pelo caminho do cakephp |

