C compiler with embedded metalanguage.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

33 rader
525 B

@(import("boot.mc"))
@{
initClass(class) {
out = {};
if (class == null) {
out.values = {};
out.functions = {};
} else {
out = {values: clone(class.values), functions: clone(class.functions)};
}
out;
}
new(class, param) {
k = 0;
out = initClass();
for (i in class.values) {
out.values[i] = clone(param[i]);
k++;
}
for (i in class) {
if (i != keys(class)[0]) {
out[i] = clone(class[i]);
}
}
return out;
}
nil;
}