O modo Ruby de fazer


Leia em menos de um minuto

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).