PS - tömbök
Objektumok egydimenziós halmaza, 0-tól indexeljük, egy tömb elemei nem kell, hogy azonos típusúak legyenek. Jele: [ ]
[16 (húsz) 8]pl.:
[(összeg) 6 14 add]
int array tömb
3 array [null null null]
int hosszúságú tömböt hoz létre, aminek az elemei kezdetben un. null objektumokpl.:
Megvalósítás:
' [ ' hatására az interpreter egy jelzés (mark) objektumot helyez el a veremben, s addig rakja az objektumokat, amíg ' ] '-ig jut, akkor hoz létre egy tömb objektumot a jelzésig található, veremben lévõ objektumokból.
Müveletek
Put:
tömb index x put -
x-et a tömb index-edik pozíciójára helyezi
pl.:
/ar [5 17 3 8] def
ar 2 (abcd) put
ar [5 17 (abcd) 8 ]
Get:
tömb index get x
a tömb index-edik elemét a verembe rakja
pl.: [31 41 59] get 31
Length:
array length int
visszaadja a tömb hosszát
pl.:
[1 2 3] length 3
[] length 0
/ar 20 array def ar length 20
Példa: tömb nyomtatása
% Variables & Procedures:
/LM 72 def
/Tempstr 30 string def
/Helvetica findfont 12 scalefont setfont
/crlf
{ currentpoint 13 sub
exch pop LM exch moveto } def
/aryshow
{ / ary exch def
0 1 ary length 1 sub
{ary exch get
Tempstr cvs
show crlf } for
} def
% Begin Program:
LM 600 moveto
% Begin array:
[(mouse)
27
/aName
[6 12]
{crlf}
LM
/Helvetica findfont
]
aryshow
showpage