配列にオブジェクトを追加する。

配列にオブジェクトを一個追加する手続きです。

% 配列にオブジェクトを追加する。
% stack : obj array 
/s3dict 1 dict def
/addToArray {
    s3dict begin
    /obj     exch def                     % 追加するobj
    /baseArray exch def                   % 受け取った配列
    /baseLen baseArray length def         % 受け取った配列の長さ
    /newArray baseLen 1 add array def     % 受け取った配列より1長い返す配列を作る
    baseArray aload                       % 受け取った配列の全要素をスタックへ
    obj                                   % 追加するobjもスタックへ
    exch pop
    newArray astore
    end
} def

[] (Hello,) addToArray ==

% => [(Hello,)]

[(Hello,) 123]  (world!) addToArray ==

% => [(Hello,) 123 (world!)]