Ruby for Instance / Structs

# Define a struct and create an instance of it
Person = Struct.new(:name, :age)
bob = Person.new("Bob", 30)

# Define a struct and access its fields
Person = Struct.new(:name, :age) do
  def greet
    "Hello, my name is #{name} and I am #{age} years old."
  end
end

bob = Person.new("Bob", 30)
puts bob.greet

# Define a struct and add methods to it
Person = Struct.new(:name, :age) do
  def greet
    "Hello, my name is #{name} and I am #{age} years old."
  end

  def increment_age
    self.age += 1
  end
end

bob = Person.new("Bob", 30)
bob.increment_age
puts bob.age

Try on playground

Next: interfaces

made with by dfxe / source / license