| 型錄 | { 1 0 _ | 取自 |
{y 由其引數的原子編成型錄,其形狀為 y
的開啟子項的形狀相串連。其封裝的結果一般形狀為 $y 。例如:
{ 'ht';'ao';'gtw'
+---+---+---+
|hag|hat|haw|
+---+---+---+
|hog|hot|how|
+---+---+---+
+---+---+---+
|tag|tat|taw|
+---+---+---+
|tog|tot|tow|
+---+---+---+
Cartesian積可以用 { 來定義,即:CP=: {@(,&<) 0 1 CP 2 3 4 +---+---+---+ |0 2|0 3|0 4| +---+---+---+ |1 2|1 3|1 4| +---+---+---+ |
若 x 為介於 -n=: #y
到 n-1 的整數,則 x{y 由 y選擇子項 n|x。故:
2 0 _1 _3 { 'abcdefg'
cage
t=:3 4$'abcdefghijkl'
1{t
efgh
一般而言, >x 為一 條列,其連續要素為 (可能為)
封裝陣列,用來指定沿著 y 連續軸的選擇。最後,用在選擇的任何 r=:>j{>x 若本身為封裝,其選擇由沿著軸且不落在 >r 的索引來決定。 注意在最後之雙邊範例, 亦即, (<<<_1){m ,得到除了最後一項外的全部,。 |
t=: 3 4 $ 'abcdefghijkl'
t; (1{t); (2 1{t); (1{"1 t); ((,1){"1 t); (2 1{"1 t)
+----+----+----+---+-+--+
|abcd|efgh|ijkl|bfj|b|cb|
|efgh| |efgh| |f|gf|
|ijkl| | | |j|kj|
+----+----+----+---+-+--+
t; (2 0{t); ((<2 0){t); ((2 0;1 3){t); ((<2 0;1 3){t)
+----+----+-+--+--+
|abcd|ijkl|i|ih|jl|
|efgh|abcd| | |bd|
|ijkl| | | | |
+----+----+-+--+--+
(_1{m); (_1{"2 m); (_1{"1 m); (<<<_1){m=:i.2 3 4
+-----------+-----------+--------+---------+
|12 13 14 15| 8 9 10 11| 3 7 11|0 1 2 3|
|16 17 18 19|20 21 22 23|15 19 23|4 5 6 7|
|20 21 22 23| | |8 9 10 11|
+-----------+-----------+--------+---------+