我正在尝试写一个宏(不是计算的),它定义了一个循环的实例,例如,如果它是一个计算的宏,它将是:
define <def_struct'statement> "def_struct <str_name'name> <number'num> to <other'name>" as computed {
result.add(appendf("extend %s { ", <other'name> ) );
for i from 0 to <number'num> do {
result.add(appendf("%s_%d : %s;", <str_name'name> ,i,<str_name'name> ));
};
result.add("};"); }是否可以对不是计算宏的宏执行相同的操作?
我可能在语法上有一些错误,但是看看这个想法..
发布于 2011-06-24 21:25:41
在您的computed as示例中,您正在创建同一个类的一组实例。为什么不实例化一个结构列表呢?
myStructs : list of MyStruct_s;如果需要,您可以基于索引对列表中的每个项目进行约束,如下所示:
keep for each (s) using index (i) in myStructs {
i==0 => s.fooBar == BAZ;
s.name == appendf("this is struct %d",i);
};https://stackoverflow.com/questions/6462878
复制相似问题