In Ruby is there a way to overload the initialize constructor?

后端 未结 7 1527
死守一世寂寞
死守一世寂寞 2020-11-29 00:58

In Java you can overload constructors:

public Person(String name) {
  this.name = name;
}
public Person(String firstName, String lastName) {
   this(firstNam         


        
7条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-29 01:38

    checkout functional-ruby gem which is inspired by Elixir pattern matching features.

       class Person
         include Functional::PatternMatching
    
         defn(:initialize, String) { |name| 
           @name = name 
         }
    
         defn(:initialize, String, String) {|first_name, last_name| 
          @name = first_name + ' ' + last_name
         }
       end
    

提交回复
热议问题