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