できないことはなかったけどマクロまみれだしとてつもなかった。型を放棄して全部文字列とかにすればかなり楽になるのは確か。
できないことはなかったけどマクロまみれだしとてつもなかった。型を放棄して全部文字列とかにすればかなり楽になるのは確か。
#module Person;int#enum age=0;str#enum name=0;double#enum high=0#define ctype new(%1,%2,%3,%4) \i%1=0:s%1="":d%1=0.0:\__new@Person %2,%3,%4,%1_i,%1_s,%1_d#deffunc local __new str _name,int _age,double _high, \array ti,array ts,array tdts.name=_nameti.age=_agetd.high=_highreturn#defcfunc local psName array tsreturn ts.name#define global ctype psName(%1) psName@Person(%1_s)#defcfunc local psAge array tireturn ti.age#define global ctype psAge(%1) psAge@Person(%1_i)#defcfunc local psHigh array tsreturn ts.high#define global ctype psHigh(%1) psHigh@Person(%1_d)#globalnew@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))