4

私はJを学び(そして私の心を吹き飛ばし)、LearningJを読んでいるところです。私が学んでいる多くの(すべて?)動詞は、それらの引数に対してかなり柔軟であることに気づきました。従来のを実行することも4 - 2、リストなどで使用することもできます。また、スカラーを指定しただけでも、演算子の右側を配列に「プロモート」するように見える4 5 - 3 4こともできます。3 4 5 - 1

後者の振る舞いは、chからのこの行でカバーされていると思います。前述のテキストの2:

したがって、=の2つの引数は同じ形状である必要があります(または、少なくともY = 2の例のように、互換性のある形状)。そうしないと、エラーが発生します。

確かに3 4 5 - 2 3、エラーです。「互換性のある形状」の技術的な定義は何ですか?それは「同じ形またはスカラー」のように単純ですか、それともそれ以上のものがありますか?

4

1 に答える 1

5

辞書ページからB.動詞

合意。フレーズp v qでは、の引数はv、一方のフレームがもう一方のフレームのプレフィックスでなければならないという意味で一致する必要があります

したがって、以下はすべて機能します

  (i. 2 3) * (i. 2 3 4)     NB. frame of left arg is prefix of the right arg
  (i. 2) * (i. 2 3 4)       NB. frame of left arg is prefix of the right arg
  (i. 2 3 4) * (i. 2 3)     NB. frame of right arg is prefix of the left arg

フレームの正式な定義については、辞書ページAを参照してください。名詞

これらの概念を完全に網羅しているので、Cプログラマー向けのJのこのセクションをお勧めします。

于 2012-01-11T08:08:04.077 に答える