Isi semua elemen dari array METAPOST
Aug 30 2020
Saya ingin mengisi jalur array dengan panjang arbitrase menggunakan loop. Apakah ada cara untuk mengulang operator pengisian pada setiap elemen array, sesuatu yang setara dengan loop shell ini
set -A Test foo bar
for i in ${Foo[@]}; do print $i; done
Larik AFAIU METAPOST bukanlah larik klasik, jadi saya tidak tahu apakah ini bisa dicapai. Apa yang saya lakukan sejauh ini terlihat seperti MWE ini. Bekerja sejauh ini, karena array jalur saya tidak tumbuh menjadi lebih dari sepuluh elemen, tetapi jika berhasil, saya mungkin mengabaikan bahwa ada sesuatu yang belum diisi. Memeriksa panjang array adalah hal yang ingin saya hindari.
\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
Jawaban
1 mickep Aug 30 2020 at 19:41
Anda bisa mencoba 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
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'