Файлы | 1!: |
1!:0 y |
Каталог. y — строка поиска по файловой системе
(упакованная строка тоже принимается);
результат — таблица из 5-ти столбцов, содержащая упакованные: имя файла,
время последнего изменения, размер, права доступа и аттрибуты.
Например, попробуте выполнить 1!:0 '*.*'.
Права доступа и аттрибуты зависят от операционной системы.
Например, в Windows:1!:0 'j.exe' +-----+-----------------+------+---+------+ |j.exe|1998 2 2 14 33 46|676864|rwx|-----a| +-----+-----------------+------+---+------+Права доступа — строка из трех букв, соответствующих разрешениям читать, записывать и выполнять файл, соответственно. Аттрибуты — строка из 6-ти символов, соответствующая аттрибутам: "только для чтения", "скрытый", "системный", "метка тома", "каталог" и "требует архивирования". |
1!:1 y |
Прочитать. y — имя файла или его номер
(полученный через 1!:21); результат — содержимое файла, представленное в виде строки.
Например, 1!:1 <'abc.q'. Допустимы также следующие значения y : 1 читать с клавиатуры (не работает в сценариях) 3 читать из стандартного входного потока (stdin) |
x 1!:2 y |
Записать. x — строка, которая должна стать новым
содержимым файла; y — имя файла или его номер
(полученный через 1!:21). Допустимы также следующие значения для y : 2 вывод на терминал. 4 стандартный выходной поток (stdout) 5 стандартный поток ошибок (stderr) |
x 1!:3 y | Добавить. Как x 1!:2 y, но добавляет к текущему содержимому файла, а не заменяет его. |
1!:4 y | Размер. |
1!:5 y | Создать Каталог. y — (упакованное) имя каталога |
[x] 1!:6 y | Запросить/Установить Аттрибуты. |
[x] 1!:7 y | Запросить/Установить Права Доступа. |
1!:11 y |
Прочитать по Индексу. y — список из упакованного имени (номера) файла и упакованных вместе индекса и длины. Индекс может быть отрицательным.
Если длина опущена, чтение производится до конца файла. Например:1!:11 'abc.x';1000 20 f=: 1!:21 <'abc.x' 1!:11 f,1000 20 |
x 1!:12 y | Записать по Индексу. x — строка, которая должна быть записана; y — список из упакованного имени (номера) файла и упакованного индекса. |
1!:20 y | Номера и Имена Файлов. Таблица из 2-х столбцов, где перечислены номера и имена открытых файлов. |
1!:21 y | Открыть. Открыть Файл по имени y, создав его, если требуется; результат — номер файла. |
1!:22 y | Закрыть. Закрыть Файл по имени (номеру) y. Все блокировки снимаются. |
1!:30 y | Блокировки. Таблица из 3-х целых столбцов: номер файла, индекс и длина блокированного участка в файле. Аргумент y нужен, но игнорируется. |
1!:31 y | Блокировать. y — целый вектор из 3-х элементов: номер файла, индекс и длина участка в файле, который требуется заблокировать; результат — 1 (если запрос выполнен успешно) или 0 (если нет). |
1!:32 y | Разблокировать. y — целый вектор из 3-х элементов: номер файла, индекс и длина участка в файле, который требуется разблокировать. |
1!:43 y | Запросить Текущий Каталог. Запросить рабочий каталог (Posix getcwd). |
1!:44 y | Установить Текущий Каталог. Установить рабочий каталог (Posix chdir). |
1!:46 y | Запросить путь к DLL. Возвращает путь (в формате UTF8) к j.dll в системе Windows и '' в Unix. |
1!:55 y | Стереть Файл/Каталог. Например, 1!:55<'careful' |