JuliaDynamics/Agents.jl

[FR] make the `@agent` macro define pretty printing as well

Open

#965 opened on Feb 3, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Julia (146 forks)batch import
good first issuequality of life

Repository metrics

Stars
 (904 stars)
PR merge metrics
 (Avg merge 1d 7h) (4 merged PRs in 30d)

Description

Currently we have:

@agent struct SchellingAgent(GridAgent{2})
    mood::Bool # whether the agent is happy in its position
    group::Int # The group of the agent, determines mood as it interacts with neighbors
end

a = SchellingAgent(1, (1,1), true, 1)

which prints

SchellingAgent(1, (1, 1), true, 1)

wouldn't it be nice to have pretty printing by default, so that each field is printed in 1 line, along with its name, its type, and then = value ? I am sure this shouldn't be too difficult to do...?

Contributor guide