Immutable struct with getter macro
We can use the getter macro to create getters to all of the attributes.
struct Person
getter name, email
def initialize(@name : String, @email : String)
end
end
foo = Person.new("Foo", "me@foo.bar")
p! foo
p! foo.name
p! foo.email
foo # => Person(@name="Foo", @email="me@foo.bar")
foo.name # => "Foo"
foo.email # => "me@foo.bar"