E.(メンバーオブ)

J言語にE.(メンバーオブ)という動詞があって、配列の中の配列の位置を返します。0なら「なし」で、1が有り。なぜ大文字のE.(大文字イードット)かと言うと、数学の記号の∈(含む含まれる)というのに似ているからでしょうか。

   'co' E. 'cocoa'
1 0 1 0 0

というような結果になります。一方、i.(アイドット、インデクスオブ)を二項動詞として使うと右辺の配列の要素一つ一つについて左辺の位置を返します。

   'co' i. 'cocoa'
0 1 0 1 2

この場合2ならば「なし」、0か1ならば「有り」になりますが、それはたまたま左辺の要素数が2個だったからであり、左辺が一つだとE.(大文字イードット)とi.(アイドット、インデクスオブ)は否定を取るととても似た動きをします。FizzBuzz問題のようにフラグを立てるだけだとi.(アイドット、インデクスオブ)の方がわかりやすいかもしれない。
さて小文字のe.(小文字イードット)というのがあって、これがよくわからない。含まれていれば1を返す、と説明されています。

   'co' e. 'cocoa'
1 1
   1 2 3 e. 3 2 1 0 0
1 1 1
   3 e. 3 3 3 1 2
1

この方が数学の∈(含む含まれる)、∋(含む含まれる)と概念は近いのかもしれない。

以上