Ruby é uma linguagem e tanto! Vou mostrar abaixo algumas coisas que considero maravilhosas e uma vez que você se acostuma, sente falta em todas as outras linguagens que você trabalha!

Adicionar itens em um array

items = ['apple', 'windows', 'linux']
 
# modo antigo
items.push('unix')
 
# modo ruby
items << 'unix'

Concatenando strings*

phrase = 'I do not like '
 
# modo antigo
phrase += 'Windows'
 
# modo ruby
phrase << 'Windows'

Verificando se um item existe no array e se não existir, adiciona

items = ['apple', 'windows', 'linux']
 
# modo antigo
if not items.include?('unix')
  items << 'unix'
end
 
# modo ruby
items |= ['unix']

Atribuindo valores de um array a variáveis

items = ['apple', 'windows', 'linux']
 
# modo antigo
a = items[0]
b = items[1]
 
# modo ruby
a, b = *items

Atribuindo um valor a uma variável somente se ela não tiver nenhum valor pré-definido

a = nil
 
# modo antigo
if not a
  a = 'linux'
end
 
# modo ruby
a = 'linux' unless a
 
#modo ruby melhor ainda
a ||= 'linux'

*Antes que me perguntem qual a vantagem de se utilizar << ao invés de += é que você padroniza o método "adicionar a" para arrays e strings, além de arquivos (se anda como um pato e faz o som de um pato, deve ser um pato).

Comentários #

#1 Daniel Luz disse:
19 Fev 07, 09:53PM

Nando, outra diferença importante entre += e << e que não pode (ou não devia) ser ignorada é que o += cria novas strings a cada concatenação, o que pode aumentar substancialmente o custo de processamento se você usar a operação repetidamente (por exemplo para criar uma string final através de vários pequenos pedaços). Já o << altera a string original, alocando mais espaço apenas se necessário (as Strings do Ruby são mutáveis e comparáveis às StringBuilders do Java e do .NET).

O aspecto mais importante do << é a economia de processamento e memória, mas em certas ocasiões o fato da alteração também pode ser útil. Um exemplo de como isso pode afetar os resultados: http://pastebin.com/884897

#2 Nando Vieira disse:
21 Fev 07, 10:05AM

Bem lembrado Daniel!

#3 leonardofaria.net // weblab // » Curiosidade Ruby do dia disse:
26 Out 07, 05:36PM

[...] outras caracter

#4 Simples Idéias. Por Nando Vieira. » Arquivo » Usando... disse:
17 Abr 08, 07:48PM

[...] Ruby tem algumas particularidades que muitas pessoas não conhecem. Algumas são especialmente úteis, como é o caso do atalho de [...]

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

jQuery: Dominando o framework

Você quer aprender a usar jQuery de verdade? Então chegou a hora! Neste workshop você verá como funciona este framework de JavaScript, entendendo todos os aspectos que fazem do jQuery uma das melhores ferramentas para desenvolvimento de interfaces.

Saiba mais Fechar

Conheça também o HOWTO