1

次のようなテーブルがあります

0 1  2  3
4 5  6  7
8 9 10 11

そして、次の構造を作りたいです。

┌──────┬──┐
│0 1  2│ 3│
│4 5  6│ 7│
│8 9 10│11│
└──────┴──┘

誰でも私を助けてもらえますか?

4

3 に答える 3

2

質問のタイトル (「テーブルを 2 つの部分にスライスし、後でボックス化する」) は、スケッチした例が学習したい内容を反映していない可能性があることを示唆しています。

私の印象では、結果の名詞を 2 つのセクションに分けられた 2 軸のテーブルとして考えているようです。この解釈の主な問題は、ボックスが内容を完全に分割することです。2 番目のボックスの数字を最初のボックスの構造から切り取ったように見せるには、特別な努力が必要です。そのような努力はめったに価値がありません。

を取得し、それが発生する構造からユニットとして削除する必要があるのが自然な場合は3 7 11、列ではなくテーブルの行にする方が有利です。2 軸テーブルは、常に 1 軸リストのリストです。問題がアイテムの分離の問題である場合、この原子の向きにより、作業が簡単になります。

これを実践して、ここでは列ではなく行を扱います。

  aa=: |:i.3 4
  aa
0 4  8
1 5  9
2 6 10
3 7 11

  (}: ; {:) aa
+------+------+
|0 4  8|3 7 11|
|1 5  9|      |
|2 6 10|      |
+------+------+

括弧内のプログラムは、文字通り「リンクの末尾を短縮する」と読むことができます。これは、質問のタイトルから私が期待するようなプログラムです。

効果的な J プログラミングの一部は、プログラム (動詞) によってより容易に操作できるようにデータ (名詞) を方向付けることです。

于 2013-07-25T17:11:17.340 に答える