50 lines
933 B
Plaintext
50 lines
933 B
Plaintext
type
|
|
Animal* = object
|
|
name*, species*: string
|
|
age: int
|
|
|
|
proc sleep*(a: var Animal) =
|
|
a.age += 1
|
|
|
|
proc dead*(a: Animal): bool =
|
|
result = a.age > 20
|
|
|
|
var carl: Animal
|
|
carl = Animal(name : "Carl",
|
|
species : "L. glama",
|
|
age : 12)
|
|
|
|
let joe = Animal(name : "Joe",
|
|
species : "H. sapiens",
|
|
age : 23)
|
|
|
|
assert(not carl.dead)
|
|
for i in 0..10:
|
|
carl.sleep()
|
|
assert carl.deadtype
|
|
Animal* = object
|
|
name*, species*: string
|
|
age: int
|
|
|
|
proc sleep*(a: var Animal) =
|
|
a.age += 1
|
|
|
|
proc dead*(a: Animal): bool =
|
|
result = a.age > 20
|
|
|
|
var carl: Animal
|
|
carl = Animal(name : "Carl",
|
|
species : "L. glama",
|
|
age : 12)
|
|
|
|
let joe = Animal(name : "Joe",
|
|
species : "H. sapiens",
|
|
age : 23)
|
|
|
|
assert(not carl.dead)
|
|
for i in 0..10:
|
|
carl.sleep()
|
|
assert carl.dead
|
|
|
|
# From https://nim-by-example.github.io/types/objects/
|