Issue #5825 has been updated by Thomas Sawyer.


I think it's really not such a good idea. Often you'll just end up having to redo it anyway when you finally decide to coerce and/or validate arguments to make your code more robust, e,g,

  def initialize(@name, @age, @location); end

Becomes

  def initialize(name, age, location)
    @name = name.to_s
    @age = age.to_i
    @location = Location.new(location)
  end

Might as well write it out from the get-go in preparation.

----------------------------------------
Feature #5825: Sweet instance var assignment in the object initializer
https://bugs.ruby-lang.org/issues/5825

Author: Gosha Arinich
Status: Assigned
Priority: Normal
Assignee: Yukihiro Matsumoto
Category: 
Target version: 2.0.0


I'm very excited about this feature in CoffeeScript, and think it might be a nice-to-have thing in Ruby 2.0.

That's how I think it would look like:

`class Me
  def initialize(@name, @age, @location); end
end`

So we can declare @variables in the initializer method parameters definition to avoid assigning instance variables from method arguments by hand, like:

`class Me
  def initialize(name, age, location)
    @name = name
    @age = age
    @location = location
  end
end`

Want to hear what do you guys think, does that feature worth being included in 2.0?


-- 
http://bugs.ruby-lang.org/