Чтобы заменить конкретные значения в этих предложениях именованным параметром, вы можете использовать скрипт, например, такой:
prime=: verb :'<./<./y|*/~(2}.i.)y'
prime 13
1
prime 10
0
(Здесь слово «глагол» просто 3. Оно действует какоставленный параметр для двоеточия, в то время как тело сценария является правильным параметром двоеточия, но не стесняйтесь некоторое время игнорировать эту деталь и рассматривать как шаблон «глагол:» перед цитируемым телом сценария.)
Вы заметите, что я использовал y, а не x, в качестве имени параметра.В явной форме J левый параметр равен x (если он есть), а правый параметр y.
Для глагола естественно, что глагол получает массивы неопределенной формы, но определенный выше будет ошибка, еслидано что угодно, кроме скаляра.Вот способ исправить это:
prime=: (verb :'<./<./y|*/~(2}.i.)y')"0
prime 10 11 12 13
0 1 0 1
В стилистическом плане повторение <./ (наименьшее среди) может не отражать ваши намерения, а также это: </p>
prime=: (verb :'<./ , y|*/~(2}.i.)y')"0
Хотелось бы отметить, что хотя подобные программы отлично подходят для изучения языка, определение, является ли число простым, обрабатывается J-первичным.Этот символ, p:
, обычно используется.Если назначенное имя было желательным, и была выбрана явная форма, вот типичное определение:
prime=: verb :'1 p: y'
Как и прежде, y будет интерпретироваться как значение правильного параметра именованного глагола ("prime")).
В итоге: для указания аргументов вместо конкретных значений используется явная форма.Это включает в себя сценарий, то есть текст.В явных глаголах напишите 'x' и 'y' как левый и правый аргументы соответственно.Если вы используете только один аргумент, это 'y'.
J программисты часто используют молчаливую форму.В неявной форме нет сценария, и аргументы всегда подразумеваются, а не указываются.(Нет проблем с работой в явном виде, когда это более удобно.) «Явное» называется так, потому что в этом виде аргументы указываются явно.