APL/J言語:表のボーダリング

APL/J言語:表のボーダリング
ユーティリティ関数overとbyはテーブルに項目名をつけて見やすくします。
これらは理解することよりも使われることを狙ったユーティリティ関数です。

   over=: ({.;}.)@":@,
   by=:  ' '&;@,.@[,.]
   primes=: 2 3 5
   i=: 0 1 2 3 4
   primes by i over primes */ i
 +-+------------+
 | |0 1  2  3  4|
 +-+------------+
 |2|0 2  4  6  8|
 |3|0 3  6  9 12|
 |5|0 5 10 15 20|
 +-+------------+
   tba=: 1 : '[ by ] over x/'  NB.テーブル副詞
   primes * tba i
 +-+------------+
 | |0 1  2  3  4|
 +-+------------+
 |2|0 2  4  6  8|
 |3|0 3  6  9 12|
 |5|0 5 10 15 20|
 +-+------------+
   7 11 ^ tba i
 +--+-------------------+
 |  |0  1   2    3     4|
 +--+-------------------+
 | 7|1  7  49  343  2401|
 |11|1 11 121 1331 14641|
 +--+-------------------+