n配列がある場合、適切なランクを使用して各ネスト「レベル」にアクセスできます。
名詞のランク/形
最初に原子があります(ランク0):
a =: 1
それらの形状($a
)は空です。
次に、リスト(ランク1)があります。これは、いくつかのアトムをまとめたものです。
b =: a,a,a
b =: 3 # a
b =: 3 $ a
それらの形状($b
)はリストの長さです。
$b
3
次に、テーブル(ランク2):リストをまとめたもの(スティッチまたはその他):
c =: b,.b,.b
それらの形状は、行、列の2項目のリストです。
$c
3 3
次に、ランクnまでの配列(ランクn)。
動詞のランク
動詞のランクは多少異なります。動詞が適用されるランクです。したがって、名詞をボックス0(<"0
)にすると、常にこの名詞のアトムをボックスに入れ、ボックス-1(<"1
)にすると、名詞のリストなどを常にボックスに入れます。例:
]n =: 2 3 4 $ i.24
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
0ランク:
<"0 n
┌──┬──┬──┬──┐
│0 │1 │2 │3 │
├──┼──┼──┼──┤
│4 │5 │6 │7 │
├──┼──┼──┼──┤
│8 │9 │10│11│
└──┴──┴──┴──┘
┌──┬──┬──┬──┐
│12│13│14│15│
├──┼──┼──┼──┤
│16│17│18│19│
├──┼──┼──┼──┤
│20│21│22│23│
└──┴──┴──┴──┘
1ランク:
<"1 n
┌───────────┬───────────┬───────────┐
│0 1 2 3 │4 5 6 7 │8 9 10 11 │
├───────────┼───────────┼───────────┤
│12 13 14 15│16 17 18 19│20 21 22 23│
└───────────┴───────────┴───────────┘
2ランク:
<"2 n
┌─────────┬───────────┐
│0 1 2 3│12 13 14 15│
│4 5 6 7│16 17 18 19│
│8 9 10 11│20 21 22 23│
└─────────┴───────────┘
3ランク:
<"3 n
┌───────────┐
│ 0 1 2 3│
│ 4 5 6 7│
│ 8 9 10 11│
│ │
│12 13 14 15│
│16 17 18 19│
│20 21 22 23│
└───────────┘
この例では、3より高いランクは3と同じです。
負のランクを使用することもできます。これは、最高ランクから逆方向にカウントされます。
ランクを混在させることもできます。
合計
+/
のランクを変更すると、合計の結果がどのように変化するかがわかります。たとえば、+/"1
すべてのランク1リストを合計します。
<"1 n
┌───────────┬───────────┬───────────┐
│0 1 2 3 │4 5 6 7 │8 9 10 11 │
├───────────┼───────────┼───────────┤
│12 13 14 15│16 17 18 19│20 21 22 23│
└───────────┴───────────┴───────────┘
+/"1 n
6 22 38
54 70 86
ランクn配列を合計するには、nsを実行する必要があります+/
。
(+/^:3) n
276
+/+/+/ n
276
,
または、合計する前に配列を解く()ことができます。
+/,n
276