APL/J言語:パーティション副詞
配列の部分(パーティション)に動詞を作用させる際の副詞は\ \. /.があり、それぞれプレフィックス、サフィックス、オブリークパーティションなどと呼ばれる。通常、+/(プラススラッシュ、合計)や*/(アスタリスクスラッシュ、積)、(+%)/(連続分数合計)等、算術的な関数と共にに使われます。またボックス化関数(<、小なり記号)が構造を明確にしますので、例を示します。
a=: 2 3 5 7 11 [ t=: 1 2 1 */ 1 3 3 1 ,.&.>((+/\a) ; (+/\.a) ; ((+%)/\a) ; (+//.t);t) +--+--+-------+--+-------+ | 2|28| 2| 1|1 3 3 1| | 5|26|2.33333| 5|2 6 6 2| |10|23| 2.3125|10|1 3 3 1| |17|18|2.31304|10| | |28|11|2.31304| 5| | | | | | 1| | +--+--+-------+--+-------+ <\a +-+---+-----+-------+----------+ |2|2 3|2 3 5|2 3 5 7|2 3 5 7 11| +-+---+-----+-------+----------+ <\.a +----------+--------+------+----+--+ |2 3 5 7 11|3 5 7 11|5 7 11|7 11|11| +----------+--------+------+----+--+
二項動詞的に使うと、\ \. /.はインフィクス、アウトフィクス、およびキー分類になります。
3 <\ a +-----+-----+------+ |2 3 5|3 5 7|5 7 11| +-----+-----+------+ _3 <\ a +-----+----+ |2 3 5|7 11| +-----+----+ 2<\.a +------+------+------+-----+ |5 7 11|2 7 11|2 3 11|2 3 5| +------+------+------+-----+ 1 2 3 1 3 *//. a 14 3 55