Issue #14025 has been updated by frankpimenta (Frank Pimenta).


Where did I define that only one argument could be passed?

I don't want to initialize ivar explicitly in #initialize.

I would like that instead of:

def initialize name='default_name', age=0
  @name, @age = name, age
end

I could do either:

def initialize @name = 'default_name', @age=0
end

or  as with getter and setters via attr_* :

initialize name: 'default_name', age: 0

What parts do you think are missing? Maybe I already know them but I am trying to find time to fulfil it.

----------------------------------------
Feature #14025: #initialize with ivars
https://bugs.ruby-lang.org/issues/14025#change-67338

* Author: frankpimenta (Frank Pimenta)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
For:

  class Person
    def initialize name = 'person'
      @name = name
    end
  end

I thought that the following would be nice:

class Person
  initialize :name
 end

class Person
  initialize name: 'person', age: 18
end

class Person
  def initialize @name="person", @age=18
    puts "initializing...something to run before"
  end
end

--
 B., Frank.



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>