$ZPREVIOUS 関数は、その引数で指定された配列レベル内の照合順序で、前回のローカルまたはグローバル変数名の添字を返します。$ZPREVIOUS() が引数の添字を付けられていない場合、照合順序で前回の添字のないローカルまたはグローバル変数名を返します。
$ZPREVIOUS 関数は、他のいくつかのM実装との互換性を提供します。MDC(M Development Committee)は、$ORDER() のオプションの 第2引数 -1 を使用してこの機能を実装することを選択しました。したがって、デザイン的にこの機能が必要な場合、$ORDER() はM標準の一部である $ZPREVIOUS よりも利点があります。
$ZPREVIOUS 関数の書式は次のとおりです:
$ZP[REVIOUS](glvn)
添字付きまたは添字のないグローバルまたはローカル変数名は、$ZPREVIOUS() がデータおよび/または子孫を持つ定義済みノードを後方検索する前のノードを指定します。引数に含まれている添字の数は、暗黙的に配列のレベルを定義します。
$ZPREVIOUS() は、指定されたグローバル変数またはローカル変数の前に指定されたレベルのノードが見つからない場合、null文字列を返します。
添字のあるグローバル変数またはローカル変数名の最後の添字がnullの場合、$ZPREVIOUS() は指定されたレベルの最後のノードを返します。
$ZPREVIOUS() は、$ORDER() と同じで、2番目の引数は-1です。