有没有办法转换后缀到细绳更具体地说,我需要做这样的事情:
def myMacro (suffix a, b) =
something.a = fOne(a);
something.b = fOne(b);
something.scantokens("somethingelse"&**suffixtostring**(a)&**suffixtostring**(b)) = fTwo(a,b);
enddef;
答案1
尝试这样的操作:
def your_macro(suffix a, b) =
something.a = 42;
something.b = 64;
something.scantokens("prefix" & str a & str b & "suffix") = 94;
enddef;
your_macro(p,q);
show something.prefixpqsuffix;
% shows 94
end.
如果要将某个非数字类型的值分配给 ,则应something
在尝试分配给它之前对其进行适当的声明。例如,pair something[];
或string something[];
。但请注意,如果这样做,后缀必须是有效的数字值,因为用声明的集合下标[]
只能是数字。
您可能还想考虑something
变量的范围。