1

私はJ言語を習得しようとし始めたばかりで、次のことに混乱しています。

   1 2 +/@{ i.4
1 2
   +/ 1 2 { i.4
3

@のドキュメントにある場合、「xu@vy↔uxvy」と表示されます。

品詞を別の品詞と間違えているだけだと思いますが、理解できません

また、名前がどのような種類のスピーチであるかをどのように見分けることができますか?

4

3 に答える 3

4
   注意。あなた_ 0はu 
   NBのランクを返します。 動詞のランクによって、一度に適用される引数が決まりますモナド+ yはアトムに適用されます。二項x + yは、原子のペアに適用されます 
   + b. 0
0 0 0
   注意。単項 +/ yおよび2 項x +/ yは何にでも適用されます (無制限のランク)
   +/ b. 0
_ _ _
   注意。モナディック { yはアトムの配列に適用されます。
   注意。二項x { yは、原子のペアなどに適用されます
   {b。0
1 0 _
   注意。u @ vのランクはv
   +/@{ b. 0
1 0 _
   注意。1 2 { i.4は一度にアトムを返すので、+ /はアトムに作用します
   +/"0 [ 1 2 { i.4
1 2
   注意。u @: vのランクは無制限です
   +/@:{ b. 0
_ _ _
   注意。+/ 1 2 { i.4のすべてに一度に適用
   +/"_ [ 1 2 { i.4
3

   注意。暗黙の形への機械的翻訳
   13 : '+/ x { y'
[: +/ {
于 2009-07-06T14:51:40.090 に答える
2

ウィキペディアには、私の偏った意見では、ランクに関するまともな記事があり、J の「スピーチ」のさまざまな部分のコンテキストでそれが何を意味するのか.

しかし、元の質問に答えるために、J のトレース機能は、その文法がどのように機能するかを理解するのに役立ちます。

   require'trace'
   trace '1 2 +/@{ i.4'

これにより、解析プロセスを段階的に進め、各生産ルールによって消費される単語と、それぞれが生成する結果を示します。

于 2011-04-15T18:19:17.630 に答える
1

ああ、私はそれを理解したかもしれないと思います、私は@の代わりに@:を使用する必要があります

   1 2 +/@:{ i.4
3

それが私が欲しかったものです。@と@の唯一の違いは、ランクについてもう少し読む必要があると思います。

于 2009-07-01T17:15:19.867 に答える