Metapost 后缀为字符串

Metapost 后缀为字符串

有没有办法转换后缀细绳更具体地说,我需要做这样的事情:

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变量的范围。

相关内容