#module Person #enum name=0 #enum age #enum high #define ctype new(%1,%2,%3,%4) \ sdim %1,,3:__new@Person %1,%2,%3,%4 #deffunc local __new array this,str _name,int _age,double _high this.name=_name this.age=str(_age) this.high=str(_high) return #defcfunc psName array this return this.name #defcfunc psAge array this return int(this.age) #defcfunc psHigh array this return double(this.high) #global new@Person(bob,"bob",20,170.5) new@Person(kate,"kate",17,155.2) mes strf("name:%s age:%d high:%.1fcm",psName(bob),psAge(bob),psHigh(bob)) mes strf("name:%s age:%d high:%.1fcm",psName(kate),psAge(kate),psHigh(kate))