これらの文の特定の値を名前付きパラメーターに置き換えるには、次のようなスクリプトを使用できます。
prime=: verb :'<./<./y|*/~(2}.i.)y'
prime 13
1
prime 10
0
(ここで、単語「動詞」は単に 3 です。これはコロンの左側のパラメーターとして機能し、スクリプト本体はコロンの右側のパラメーターです。ただし、しばらくの間その詳細を無視して、パターン「動詞 :」として扱ってください。スクリプトの引用された本文の前。)
パラメータ名として x ではなく y を使用していることに気付くでしょう。明示的な J 形式では、左のパラメーターは x (存在する場合) であり、右のパラメーターは y です。
動詞が不定形の配列を受け取るのは J では自然ですが、上記で定義されたものは、スカラー以外が与えられるとエラーになります。これを修正する方法は次のとおりです。
prime=: (verb :'<./<./y|*/~(2}.i.)y')"0
prime 10 11 12 13
0 1 0 1
文体の問題として、 <./ (最も少ない) の繰り返しは、次のように意図を伝えない可能性があります。
prime=: (verb :'<./ , y|*/~(2}.i.)y')"0
このようなプログラムは言語を探索するのに最適ですが、数値が素数であるかどうかは J プライマリによって処理されます。p:
通常は、その記号が使用されます。割り当てられた名前が必要で、明示的な形式が選択された場合、一般的な定義は次のとおりです。
prime=: verb :'1 p: y'
以前と同様に、'y' は指定された動詞 ("prime") の右側のパラメーターの値として解釈されます。
要約: 引数を指定するには、特定の値の代わりに明示的な形式が使用されます。これには、スクリプト、つまりテキストが含まれます。明示的な動詞では、'x' と 'y' をそれぞれ左引数と右引数として記述します。引数を 1 つだけ使用する場合は、'y' です。
J プログラマーは、代わりに暗黙の形式を使用することがよくあります。暗黙の形式ではスクリプトはなく、引数は常に暗示され、指定されません。(より快適な場合は、明示的な形式で作業しても問題ありません。) 「明示的な」というのは、その形式では引数が明示的に示されるためです。