где официальная документация для .Alpha_j_

Код Дэвида Ламберта здесь получает буквы (алфавит), используя следующее:

26}.Alpha_j_   NB. output is abcdefghijklmnopqrstuvwxyz

Где я могу найти официальную документацию для .Alpha_j_? Я выполнил поиск в NuVoc, и самое близкое, что я нашел, это adot


j
person treesbugs    schedule 27.11.2020    source источник


Ответы (1)


Не совсем документация, но она определена в stdlib.ijs файле в строке 1661. Найдено в j901/system/main/stdlib.ijs Вероятно, причина того, что вы получили документацию для a. (Alphabet) от Nuvoc, состоит в том, что именно так она построена как подмножество символов в примитив a.

cocurrent <'j'
Alpha=: a. {~ , (a.i.'Aa') +/ i.26

Я заметил, что вы назвали его .Alpha_j_, но на самом деле он называется Alpha, а точка происходит от }. (Drop), который используется для удаления первых 26 букв верхнего регистра. Суффикс _j_ указывает, что он является частью локали j (пространства имен).

   Alpha_j_
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
person bob    schedule 27.11.2020
comment
Спасибо за ответ + объяснение по префиксу / постфиксу (я просто подумал, что это необычное имя переменной). Приятно знать, что я могу выполнять поиск в исходном коде Github напрямую, чтобы получить любое определение в будущем! В этом случае поисковый запрос - alpha filename:stdlib.ijs. - person treesbugs; 27.11.2020
comment
Однако не все определения находятся в stdlib.ijs. Многие другие .ijs файлы в системной папке содержат определения, которые отображаются в стандартном J для разных языков. Если вы работаете в средах JHS или jQt, их еще больше в addons/ide/jhs/ или addons/ide/jqt/ - person bob; 27.11.2020