Classes / Constructors

# in Ruby class
# you cannot define multiple constructors

class Man
    attr_reader :name, :country

    def initialize(name="unknown", country="unknown")
        @name = name
        @country = country
    end
end

man1 = Man.new
# man1.name is "unknown"
# man1.country is "unknown"

man2 = Man.new("Vladimir")
# man2.name is "Vladimir"
# man2.country is "unknown"

man3 = Man.new(country="Brazil")
# man3.name is "unknown"
# man3.country is "Brazil"

man4 = Man.new("Vladimir""Brazil")
# man4.name is "Vladimir"
# man4.country is "Brazil

puts "man1.name is '#{man1.name}'"
puts "man1.country is '#{man1.country}'"
puts "man2.name is '#{man2.name}'"
puts "man2.country is '#{man2.country}'"
puts "man3.name is '#{man3.name}'"
puts "man3.country is '#{man3.country}'"
puts "man4.name is '#{man4.name}'"
puts "man4.country is '#{man4.country}'"