29 lines
501 B
Text
29 lines
501 B
Text
|
|
type User = (
|
|
id: int,
|
|
name: str,
|
|
)
|
|
|
|
|
|
user := {
|
|
user_id := 0
|
|
all_users := []User
|
|
|
|
(
|
|
get_all: fn() -> [User] { all_users },
|
|
new: fn(name: str) -> User {
|
|
data := (id: { user_id = user_id + 1 }, name:)
|
|
all_users.append(data)
|
|
data
|
|
},
|
|
fmt: fn(user: User) -> str {
|
|
user.name + "(" + str(user.id) + ")"
|
|
}
|
|
)
|
|
}
|
|
|
|
abe := user.new("abe")
|
|
lincoln := user.new("lincoln")
|
|
|
|
println(abe)
|
|
println(lincoln)
|