Gostaria de preencher caminhos de matrizes de comprimento arbitral usando um loop. Existe uma maneira de iterar o operador de preenchimento em cada elemento da matriz, algo equivalente a este loop de shell
set -A Test foo bar
for i in ${Foo[@]}; do print $i; done
Os arrays AFAIU METAPOST não são arrays clássicos, então não sei se isso pode ser alcançado. O que estou fazendo até agora se parece com este MWE. Funciona até agora, já que minhas matrizes de caminho não cresceram para mais de dez elementos, mas se isso acontecesse, posso ignorar que algo não foi preenchido. Verificar o comprimento dos arrays é o que eu gostaria de evitar.
\mainlanguage[]
\language[]
\starttext
\startMPpage
path T[];
T1:=unitcircle scaled 20;
T2:=unitsquare scaled 20 xshifted 30;
T3:=unitcircle scaled 20 xshifted 80;
for i=1 step 1 until 10:
if known T[i]:
draw T[i] ;
fi
endfor ;
\stopMPpage
\stoptext
Responder1
Você poderia tentar forever
:
\starttext
\startMPpage
path T[];
T1:=unitcircle scaled 20;
T2:=unitsquare scaled 20 xshifted 30;
T3:=unitcircle scaled 20 xshifted 80;
i:=1;
forever:
if known T[i]:
draw T[i];
i:=i+1;
fi
exitif unknown T[i];
endfor ;
\stopMPpage
\stoptext