28 lines
643 B
Nim
28 lines
643 B
Nim
type MyClass = object
|
|
name: int
|
|
|
|
proc initMyClass(): MyClass =
|
|
result.name = 2
|
|
|
|
proc someMethod(m: var MyClass) =
|
|
m.name = 1
|
|
|
|
var mc = initMyClass()
|
|
mc.someMethod()
|
|
|
|
type
|
|
Gender = enum male, female, other
|
|
|
|
MyOtherClass = object
|
|
name: string
|
|
gender: Gender
|
|
age: Natural
|
|
|
|
proc initMyOtherClass(name; gender = female; age = 50): auto =
|
|
MyOtherClass(name: name, gender: gender, age: age)
|
|
|
|
var person1 = initMyOtherClass("Jane")
|
|
echo person1.name, " ", person1.gender, " ", person1.age # Jane female 50
|
|
var person2 = initMyOtherClass("John", male, 23)
|
|
echo person2.name, " ", person2.gender, " ", person2.age # John male 23
|