Tags

,

O @fnando realizou hoje uma palestra para testar a sua nova aplicação de apresentações com Node.js.

Dentro da abordagem do que mudou no Ruby 1.9 três coisas que acho muito legais:

Splat

Passagem de quantidade indefinada de argumentos. No Ruby 1.8 ele era aceito apenas como seu último argumento:

def teste (a,b,*c)
  puts c
end
teste(1,2,3,4,5) # => 3,4,5

No Ruby 1.9 é aceito em qualquer posição:

def teste (x,*y,z)
  puts y
end

teste(1,2,3,4,5) # => 2,3,4

TAP

O TAP é helping que sempre retorna o objeto passado para o bloco, mesmo se dentro do bloco existir outro tipo de retorno. Muito parecido como o returning do Rails.

Para exemplificar vamos ver como seria uma instanciação básica no ruby 1.8:

class User
  attr_accessor :name, :blog
end
user = User.new
user.nome = "Erich Kist"
user.blog = "http://erichkist.com"
user # => #<user:0x9495634 @name="Erich Kist" ,="" @blog="http://www.erichkist.com">

No Ruby 1.9 com o tap:

class User
  attr_accessor :name, :blog
end

user = User.new.tap do |u|
  u.nome = "Erich Kist"
  u.blog = "http://erichkist.com"
end
user # => #<user:0x9495634 @name="Erich Kist" ,="" @blog="http://www.erichkist.com">

Hashrocket

A criação de hash no Ruby 1.8 se dava desta forma:

social = {
  :twitter => "http://www.twitter.com",
  :linkedin => "http://www.linkedin.com"
}

No Ruby 1.9 já pode utilizar assim:

social = {
  twitter: "http://www.twitter.com",
  linkedin: "http://www.linkedin.com"
}

Quer saber mais ? Veja o PDF guia que ele montou: O que mudou no Ruby 1.9

About these ads