array p/ string
|
|
tendo o seguinte string [“verde.amarelo.vermelho.azul”, “amarelo.vermelho.azul”, “vermelho.azul”, “azul”] |
|
|
uma ideia.. |
|
|
tem como fazer um oneliner? |
|
|
Usando técnicas de POG avançado: |
|
|
off: Luizão preciso falar com vc em pvt |
|
|
Tem o partition também: |
|
|
Shairon, te adicionei no gtalk. Mereghost, aqui não funfou, deu erro no partition, wrong number of arguments (1 for 0). |
|
|
Curioso, Luizão. Qual o ruby que tu tá usando? Aqui no trampo tô usando o ruby 1.8.7 (2008-08-11 patchlevel 72). |
|
|
aqui no meu não funcionou, mas estou no 1.8.6 |
|
|
Deve ser a versão mesmo. Com o REE não funfa: ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux] Já com o 1.9.1 funcionou. |
|
|
Luizão, coisa linda! Dois cosméticos: é só pq comparações são mais baratas que a criação de uma nova string(com a concatenção) e a realocação de um array(no pop). Show de bola! []’s |
|
|
one line com ; é migué!!! hahah =D |
|
|
Hehehe…certeza. Vou colocar uns \n depois dos ; :D De qq forma, one line? alguém? |
|
|
Se tivesse um “map_with_index”… =D |
|
|
Nao seja por isso Vale? huaheuae… |
|
|
Pow.. isso eh divertido, a gente devia usar mais a “Refactoring & DRY” (abandonada ela… ) |
|
|
No ruby 1.9 há o Enumerator#with_index. Do código fonte do ruby:
* Also, most iteration methods without a block returns an enumerator.
* For example, Array#map returns an enumerator if a block is not given.
* The enumerator has the with_index method.
* So ary.map.with_index works as follows.
*
* p %w[foo bar baz].map.with_index {|w,i| "#{i}:#{w}" }
* #=> ["0:foo", "1:bar", "2:baz"]
[]’s |
|
|
Caraca, daora Gustavo… ñ sabia dessa. |
|
|
só tem ninja nesse forum hauhua anotado |
|
|
Usando a idéia do enumerator, finalmente um oneliner de verdade =D |

