Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Mutable Struct with property macro

struct Person
  property name : String
  property email : String

  def initialize(@name, @email)
  end
end

foo = Person.new("Foo", "me@foo.bar")
p! foo
p! foo.name
p! foo.email

foo.email = "new@foo.bar"
p! foo.email
foo # => Person(@name="Foo", @email="me@foo.bar")
foo.name # => "Foo"
foo.email # => "me@foo.bar"
foo.email # => "new@foo.bar"