Diff for /parser3/operators.ru.txt between versions 1.265 and 1.270

version 1.265, 2025/01/10 20:02:21 version 1.270, 2026/10/09 18:53:41
Line 244  int,double Line 244  int,double
         bool значение          bool значение
     ^имя.inc(на сколько +)      ^имя.inc(на сколько +)
     ^имя.dec(на сколько -)      ^имя.dec(на сколько -)
       ^имя.++[] выводит значение, затем увеличивает на 1
       ^имя.--[] выводит значение, затем уменьшает на 1
     ^имя.mul(на сколько *)      ^имя.mul(на сколько *)
     ^имя.div(на сколько /)      ^имя.div(на сколько /)
     ^имя.mod(на сколько %)      ^имя.mod(на сколько %)
Line 441  hash Line 443  hash
     ^хеш.rename[старый_ключ;новый_ключ]      ^хеш.rename[старый_ключ;новый_ключ]
     ^хеш.rename[ $.старый_ключ[новый_ключ] ... ]      ^хеш.rename[ $.старый_ключ[новый_ключ] ... ]
         переименовывает заданные ключи хеша          переименовывает заданные ключи хеша
       ^хеш.array[[keys|values]]
           эквивалентен ^array::copy[$хеш] или возвращает массив ключей или значений хеша
     ^хеш.sort[key;value]{{ключеделатель строка}|(ключеделатель число)}[[desc|asc]] default=asc      ^хеш.sort[key;value]{{ключеделатель строка}|(ключеделатель число)}[[desc|asc]] default=asc
     $обратный_хеш[^хеш.reverse[]]      $обратный_хеш[^хеш.reverse[]]
     $отобранное[^хеш.select[key;value](выражение)[ $.limit(N) $.reverse(bool) $.default(bool) ]]      $отобранное[^хеш.select[key;value](выражение)[ $.limit(N) $.reverse(bool) $.default(bool) ]]
Line 587  date Line 591  date
         date                       - %Y-%m-%d          date                       - %Y-%m-%d
         time                       - %H:%M:%S          time                       - %H:%M:%S
         where published='^дата.sql-string[]'          where published='^дата.sql-string[]'
       ^date:sql-string[[datetime|date|time]]
           sql-string для сейчас
     ^date:calendar[rus|eng](год;месяц)      ^date:calendar[rus|eng](год;месяц)
         выдаёт неименованную таблицу, столбцы: 0..6, week, year          выдаёт неименованную таблицу, столбцы: 0..6, week, year
     ^date:calendar[rus|eng](год;месяц;день)      ^date:calendar[rus|eng](год;месяц;день)
Line 597  date Line 603  date
         вернёт последний день месяца $дата          вернёт последний день месяца $дата
     ^дата.gmt-string[]      ^дата.gmt-string[]
         Fri, 23 Mar 2001 09:32:23 GMT          Fri, 23 Mar 2001 09:32:23 GMT
       ^date:gmt-string[]
           gmt-string для сейчас
     ^дата.iso-string[]      ^дата.iso-string[]
         2001-03-23T12:32:23+03          2001-03-23T12:32:23+03
       ^date:iso-string[]
           iso-string для сейчас
   
 file  file
     $файл_из_post.name      $файл_из_post.name
     $файл_из_post.size      $файл_из_post.size
     $файлt_из_post.text      $файлt_из_post.text
     ^файл.save[text|binary;имя файла[;$.charset[в какой кодировке сохраняем]]]      ^файл.save[text|binary;имя файла[;$.charset[в какой кодировке сохраняем] $.append(false)]]
     ^file:delete[имя файла]      ^file:delete[имя файла]
     ^file:find[имя файла][{когда не нашли}]      ^file:find[имя файла][{когда не нашли}]
     ^file:list[путь[;шаблон-строка|шаблон-regex]]      ^file:list[путь[;шаблон-строка|шаблон-regex]]
Line 739  regex Line 749  regex
     $шаблон.options      $шаблон.options
         строка с исходным текстом опций          строка с исходным текстом опций
   
   amqp
       ^amqp::create[[
           $.host[localhost] $.port(5672) $.user[guest] $.password[guest] $.vhost[/] $.locale[en_US]
           $.heartbeat(30) $.auto_reconnect(секунд)
           $.tls[ $.ca[файл] $.cert[файл] $.key[файл] $.verify(true) ]
       ]]
           подключается к брокеру RabbitMQ
           auto_reconnect(N): после потери соединения переподключиться перед следующей операцией, выждав N секунд
           tls: сертификат сервера проверяется, только если задан ca
       ^amqp.publish[сообщение][[
           $.exchange[] $.routing_key[ключ]|$.queue[имя] $.mandatory(false)
           свойства сообщения: $.content_type[] $.content_encoding[] $.delivery_mode(1|2) $.priority(N) $.correlation_id[] $.reply_to[]
               $.expiration[] $.message_id[] $.timestamp(N) $.type[] $.user_id[] $.app_id[] $.cluster_id[] $.headers[хеш]
       ]]
       ^amqp.consume[ $.queue[имя] $.ack(true) $.count(1) $.timeout(0) $.exclusive(false) $.consumer_tag[] ]
           массив сообщений, готовых за timeout секунд (ждётся только первое)
       ^amqp.consume[ $.queue[имя] $.callback[$метод] ... ]
           вызывает @метод[сообщение] для каждого сообщения до ^amqp.stop_consume[], count сообщений или timeout секунд без сообщений
           count и timeout по умолчанию не ограничены
       сообщение: хеш с msg, delivery_tag, routing_key, exchange, redelivered, consumer_tag и заданными свойствами
       ^amqp.ack(delivery_tag)
           при $.ack(true) (по умолчанию) полученные сообщения нужно подтверждать
       ^amqp.nack(delivery_tag)[ $.requeue(false) ]
       ^amqp.reject(delivery_tag)[ $.requeue(true) ]
       ^amqp.qos[ $.prefetch_count(N) ]
       ^amqp.declare[ $.queue[имя] $.durable(false) $.exclusive(false) $.auto_delete(false) $.passive(false) $.arguments[хеш] ]
           для пустого имени сервер создаёт очередь со своим именем, оно возвращается
       ^amqp.declare[ $.exchange[имя] $.type[direct] $.durable(false) $.auto_delete(false) $.internal(false) $.passive(false) $.arguments[хеш] ]
       ^amqp.delete[ $.queue[имя]|$.exchange[имя] $.if_unused(false) $.if_empty(false) ]
       ^amqp.bind[ $.exchange[имя] $.queue[имя] $.routing_key[] ]
       ^amqp.unbind[ $.exchange[имя] $.queue[имя] $.routing_key[] ]
       ^amqp.purge[ $.queue[имя] ]
           число удалённых сообщений
       ^amqp.info[ $.queue[имя] ]
           хеш с queue, messages, consumers
       ^amqp.release[]
           закрывает соединение
       значения в arguments и headers: [строка], (число), (true|false)
   
 console  console
     $console:timeout      $console:timeout
     $console:line      $console:line
Line 995  math Line 1044  math
     ^math:convert[number|файл](base-from)[алфавит][[ $.format[string|file] ]]      ^math:convert[number|файл](base-from)[алфавит][[ $.format[string|file] ]]
         преобразует строку или файл с числом из одной системы исчисления в другую          преобразует строку или файл с числом из одной системы исчисления в другую
         система счисления может быть задана алфавитом, числом от 2 до 16 (эквивалентно алфавиту 0123456789ABCDEF), числом 256 (все ASCII символы)          система счисления может быть задана алфавитом, числом от 2 до 16 (эквивалентно алфавиту 0123456789ABCDEF), числом 256 (все ASCII символы)
       ^math:eq(a;b[;max ULP])
           истина, если разница между числами меньше или равна max ULP (по умолчанию 3)
     ^math:uuid[ $.lower(bool) $.solid(bool) ]      ^math:uuid[ $.lower(bool) $.solid(bool) ]
         22C0983C-E26E-4169-BD07-77ECE9405BA5          22C0983C-E26E-4169-BD07-77ECE9405BA5
         win32: пользуется cryptapi          win32: пользуется cryptapi
Line 1088  reflection Line 1139  reflection
         текущее состояние стека вызовов методов на парсере          текущее состояние стека вызовов методов на парсере
     ^reflection:mixin[источник; $.to[получатель] $.name[имя] $.methods(true/false) $.fields(true/false) $.overwrite(false/true) ]      ^reflection:mixin[источник; $.to[получатель] $.name[имя] $.methods(true/false) $.fields(true/false) $.overwrite(false/true) ]
         копирует в класс методы и поля другого класса          копирует в класс методы и поля другого класса
       ^reflection:override[метод[; $.to[получатель] $.name[новое имя]]]
           переопределяет или определяет метод
   
   redis
       ^redis::open[[
           $.host[localhost] $.port(6379)|$.unix_socket[путь]
           $.user[] $.password[] $.db(0) $.timeout(2) $.protocol(3) $.auto_reconnect(секунд)
           $.tls[ $.ca[файл] $.cert[файл] $.key[файл] $.verify(true) ]
       ]]
           подключается к серверу redis
           timeout в секундах на подключение и на каждую команду, 0 - без ограничения
           protocol(2) для серверов до redis 6
           auto_reconnect(N): после потери соединения переподключиться перед следующей командой, выждав N секунд
           tls: сертификат сервера проверяется, только если задан ca
       ^redis.имя_команды[аргументы;...]
           любая команда redis, например ^redis.set[ключ;значение] ^redis.get[ключ] ^redis.hgetall[ключ]
       ^redis.call[команда;аргументы;...]
       ^redis.f-имя_команды[аргументы;...], ^redis.f-call[команда;аргументы;...]
           строки ответа выдаются файлами (двоичные данные)
       аргументы: строка, число, bool как 1/0, файл своим содержимым; массив - его элементы, хеш - пары ключ значение
       ответ: string, int, double, bool, void (nil), array, hash (map); ответ-ошибка - исключение
       ^redis.release[]
           закрывает соединение
   
 request  request
     https://site.name/a%20b/?name=some%20value      https://site.name/a%20b/?name=some%20value
Line 1419  MAIN Line 1493  MAIN
     http.response        ^file::load[http://ok/there]                host found, connection accepted, bad answer      http.response        ^file::load[http://ok/there]                host found, connection accepted, bad answer
     http.status          ^file::load[http://ok/there]                host found, connection accepted, status!=200      http.status          ^file::load[http://ok/there]                host found, connection accepted, status!=200
     date.range           ^date::create(10000;1;1)                    date out of valid range      date.range           ^date::create(10000;1;1)                    date out of valid range
       amqp                 ^amqp::create[$.port(1)]                    connection failed/error from the broker
       redis                ^redis::open[$.port(1)]                     connection failed/error reply
   
 если в MAIN определён $SIGPIPE(1) то в случае, если обработка была прервана пользователем, сообщение  если в MAIN определён $SIGPIPE(1) то в случае, если обработка была прервана пользователем, сообщение
     об этом будет записано в parser3.log      об этом будет записано в parser3.log

Removed from v.1.265  
changed lines
  Added in v.1.270


E-mail: