
Есть ли способ конвертироватьсуффикскнить? Конкретнее, мне нужно сделать что-то вроде этого:
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
переменных.