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: [ ]

pl.:

[16 (húsz) 8]
[(összeg) 6 14 add]

int array tömb
int hosszúságú tömböt hoz létre, aminek az elemei kezdetben un. null objektumok

pl.:

3 array [null null null]
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



a lap teteje