>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

Файлы 1!:

Если не указано иначе, на файл можно сослаться по его имени (как <'sub\abc.q') или при помощи целого числа (номера файла), полученного при его открытии (1!:21 <'sub\abc.q').

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'



>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь