Diff for /parser3/operators.ru.txt between versions 1.231 and 1.244

version 1.231, 2010/09/17 00:01:03 version 1.244, 2015/09/04 23:06:03
Line 181  odbc c:\drives\y\parser3project\odbc\deb Line 181  odbc c:\drives\y\parser3project\odbc\deb
         !в catch коде $exception.handled[cache]  ^rem{флаг, что exception обработан}          !в catch коде $exception.handled[cache]  ^rem{флаг, что exception обработан}
     !^cache[файл][expires date]{код}[{catch код}]      !^cache[файл][expires date]{код}[{catch код}]
         !абсолютное задание времени          !абсолютное задание времени
     X^cache[файл] удалить файл [не ругает, если его нет] // такое было, больше не будет, делать ^cache(0)      !^cache[файл] удалить файл [не ругает, если его нет]
     !^cache(секунд)      !^cache(секунд)
     !^cache[expires date]      !^cache[expires date]
         !сигнализирует вышестоящему ^cache "уменьши до стольких-то 'секунд'/'expires'"          !сигнализирует вышестоящему ^cache "уменьши до стольких-то 'секунд'/'expires'"
Line 336  odbc c:\drives\y\parser3project\odbc\deb Line 336  odbc c:\drives\y\parser3project\odbc\deb
     !^строка.pos[подстрока](позиция, с которой ищем)      !^строка.pos[подстрока](позиция, с которой ищем)
         <0 = не найдено          <0 = не найдено
     !^строка.replace[$таблица_подстановок_строка_на_строку]      !^строка.replace[$таблица_подстановок_строка_на_строку]
       !^строка.replace[$что;$на-что]
     !^строка.save[[append;]путь]      !^строка.save[[append;]путь]
     !^строка.save[путь[;$.charset[в какой кодировке сохраняем] $.append(true)]]      !^строка.save[путь[;$.charset[в какой кодировке сохраняем] $.append(true)]]
     !^строка.normalize[] выдает другую строку, в которой фрагменты на одном языке объединены      !^строка.normalize[] выдает другую строку, в которой фрагменты на одном языке объединены
Line 345  odbc c:\drives\y\parser3project\odbc\deb Line 346  odbc c:\drives\y\parser3project\odbc\deb
         default 'chars' -- whitespace chars          default 'chars' -- whitespace chars
     !^строка.append[string]      !^строка.append[string]
     !^строка.base64[] encode      !^строка.base64[] encode
     !^string:base64[encoded] decode      !^string:base64[encoded[;$.strict(true)]] decode
   
 !table  !table
     в выражении       в выражении 
Line 373  odbc c:\drives\y\parser3project\odbc\deb Line 374  odbc c:\drives\y\parser3project\odbc\deb
     !^таблица.offset[[whence]](5) сдвигает      !^таблица.offset[[whence]](5) сдвигает
         !whence=cur|set          !whence=cur|set
         !без whence - это cur          !без whence - это cur
     !^таблица.count[]      !^таблица.count[], ^таблица.count[rows] - количество строк в таблице
       !^таблица.count[columns] - для named таблицы количество столбцов (сокращение от $c[^таблица.columns[]]^c.count[])
       !^таблица.count[cells] - количество ячеек в текущей строке таблицы
     !^таблица.line[] 1-based offset      !^таблица.line[] 1-based offset
     !^таблица.sort{{ключеделатель строка}|(ключеделатель число)}[{desc|asc}] default=asc      !^таблица.sort{{ключеделатель строка}|(ключеделатель число)}[{desc|asc}] default=asc
     !^таблица.append{данные}      !^таблица.append{данные}
Line 546  odbc c:\drives\y\parser3project\odbc\deb Line 549  odbc c:\drives\y\parser3project\odbc\deb
     !^reflection:base[объект]              родительский класс переданного объекта      !^reflection:base[объект]              родительский класс переданного объекта
     !^reflection:base_name[объект]         имя родительского класса переданного объекта      !^reflection:base_name[объект]         имя родительского класса переданного объекта
     !^reflection:methods[класс]            хеш со списком методов указанного класса, значения -- строки 'native' или 'parser'      !^reflection:methods[класс]            хеш со списком методов указанного класса, значения -- строки 'native' или 'parser'
       !^reflection:method[класс или объект;имя метода] возвращает junction-method класса или объекта
     !^reflection:fields[класс или объект]  хеш со списком статических полей указанного класса или динамических полей указанного объекта      !^reflection:fields[класс или объект]  хеш со списком статических полей указанного класса или динамических полей указанного объекта
       !^reflection:field[класс или объект;имя поля]  возвращает значение указанного поля класса или объекта. getter-ы игнорируются.
       !^reflection:uid[класс или объект]     возвращает идентификатор объекта или класса
     !^reflection:method_info[класс;метод]  хеш с параметрами указанного метода класса      !^reflection:method_info[класс;метод]  хеш с параметрами указанного метода класса
          $.inherited[класс]                имя класса, где метод был определён (возвращается только если метод был определён в предке)           $.inherited[класс]                имя класса, где метод был определён (возвращается только если метод был определён в предке)
            $.overridden[класс]               имя класса, где метод был определён (возвращается только если метод был определён в предке)
          для native классов возвращается хеш:           для native классов возвращается хеш:
              .min_params(минимально необходимое число параметров)               .min_params(минимально необходимое число параметров)
              .max_params(максимально возможное число параметров)               .max_params(максимально возможное число параметров)
Line 558  odbc c:\drives\y\parser3project\odbc\deb Line 565  odbc c:\drives\y\parser3project\odbc\deb
     !^reflection:dynamical[[object or class, caller if absent]]    возвращает true, если метод был вызван из динамического контекста      !^reflection:dynamical[[object or class, caller if absent]]    возвращает true, если метод был вызван из динамического контекста
                                                                    при передаче параметра возвращает true, если передан динамический объект,                                                                     при передаче параметра возвращает true, если передан динамический объект,
                                                                    false если класс                                                                     false если класс
       !^reflection:delete[класс или объект;имя переменной]           удаляет переменную с указанным именем в указанном классе или объекте
   
   
 !mail  !mail
Line 746  odbc c:\drives\y\parser3project\odbc\deb Line 754  odbc c:\drives\y\parser3project\odbc\deb
     !^файл.save[text|binary;имя файла[;$.charset[в какой кодировке сохраняем]]]      !^файл.save[text|binary;имя файла[;$.charset[в какой кодировке сохраняем]]]
     !^file:delete[имя файла]      !^file:delete[имя файла]
     !^file:find[имя файла][{когда не нашли}]      !^file:find[имя файла][{когда не нашли}]
     !^file:list[путь[;шаблон-строка|шаблон-regex]] = table с колонкой name      !^file:list[путь[;шаблон-строка|шаблон-regex]] = table с колонками name dir
       !^file:list[путь;$.filter[шаблон-строка|шаблон-regex] $.stat(true)] = table с колонками name dir size [mca]date
     !^file::load[text|binary;!big.zip[;!domain_press_release_2001_03_01.zip][;опции]]      !^file::load[text|binary;!big.zip[;!domain_press_release_2001_03_01.zip][;опции]]
     !^file::create[text;имя;data]      !^file::create[text|binary;имя;data]
     !^file::create[text;имя;data[;$.charset[кодировка букв в создаваемом файле]]]      !^file::create[text|binary;имя;data[;$.charset[кодировка букв в создаваемом файле] $.content-type[...]]]
       !^file::create[string-or-file-content[;$.name[имя] $.mode[text|binary] $.content-type[...] $.charset[...]]]
     !$файл_который_был_loaded.size      !$файл_который_был_loaded.size
     !$файл_который_был_loaded_или_created.mode = text/binary      !$файл_который_был_loaded_или_created.mode = text/binary
     !^file::stat[имя файла]      !^file::stat[имя файла]
Line 773  odbc c:\drives\y\parser3project\odbc\deb Line 783  odbc c:\drives\y\parser3project\odbc\deb
         выполняется код          выполняется код
         разблокируется          разблокируется
     Xchmod[...] НЕТ И НЕ БУДЕТ, ЧТОБЫ НЕ МОГЛИ СДЕЛАТЬ executable и запустить, даже если ftp запрещает chmod.      Xchmod[...] НЕТ И НЕ БУДЕТ, ЧТОБЫ НЕ МОГЛИ СДЕЛАТЬ executable и запустить, даже если ftp запрещает chmod.
     !^file:dirname[/a/some.tar.gz]=/a      !^file:dirname[/a/some.tar.gz]=/a (работает аналогично комманде *nix)
     !^file:dirname[/a/b/]=/a      !^file:dirname[/a/b/]=/a (работает аналогично комманде *nix)
     !^file:basename[/a/some.tar.gz]=some.tar.gz      !^file:basename[/a/some.tar.gz]=some.tar.gz (работает аналогично комманде *nix)
       !^file:basename[/a/b/]=b (работает аналогично комманде *nix)
     !^file:justname[/a/some.tar.gz]=some.tar      !^file:justname[/a/some.tar.gz]=some.tar
     !^file:justext[/a/some.tar.gz]=gz      !^file:justext[/a/some.tar.gz]=gz
     !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif      !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif
     !^файл.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать      !^файл.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать
     X^file::sql[[имя_файла_для_download]]{}      X^file::sql[[имя_файла_для_download]]{query}
     !^file::sql{}[[      !^file::sql{query}[[
         $.name[имя_файла_для_download]          $.name[имя_файла_для_download]
         $.content-type[пользовательский content-type]          $.content-type[пользовательский content-type]
     ]]      ]]
Line 836  odbc c:\drives\y\parser3project\odbc\deb Line 847  odbc c:\drives\y\parser3project\odbc\deb
     !^math:crc32[string]      !^math:crc32[string]
        вычисляет crc32 строки         вычисляет crc32 строки
     !^math:sha1[string]      !^math:sha1[string]
       !^math:convert[number](base-from;base-to) преобразует строку с числом из одной системы исчисления в другую
   
   
 !inet  !inet
Line 852  odbc c:\drives\y\parser3project\odbc\deb Line 864  odbc c:\drives\y\parser3project\odbc\deb
                                      last  -- будет оставлен последний встретившийся элемент                                       last  -- будет оставлен последний встретившийся элемент
                                      all   -- будут оставлены все элементы. при этом элементы, начиная со 2                                       all   -- будут оставлены все элементы. при этом элементы, начиная со 2
                                               получат числовые суффиксы (key_2 итд)                                                получат числовые суффиксы (key_2 итд)
                                      по умолчанию дублирующиеся ключи приводыт к exception                                       по умолчанию дублирующиеся ключи приведут к exception
         $.object[method-junction]    пользовательский метод, которому будут передаваться все разобранные пары          $.object[method-junction]    пользовательский метод[ключ;объект], которому будут передаваться все разобранные 
                                      ключ/значение                                       объекты и ключи объекта, метод возвращает новый объект
           $.array[method-junction]     пользовательский метод, которому будут передаваться массивы
     ]]      ]]
         парсит json-строку в хэш          парсит json-строку в хэш
     !^json:string[system or user object[;      !^json:string[system or user object[;
         $.skip-unknown(false)    отключить exception и выдавать 'null' при сериализации объектов с типами          $.skip-unknown(false)    отключить exception и выдавать 'null' при сериализации объектов с типами
                                  отличных от void, bool, string, int, double, date, table, hash и file                                   отличных от void, bool, string, int, double, date, table, hash и file
           $.indent(true)           форматировать результирующую строку табуляциями по глубине вложенности
         $.date[sql-string|gmt-string|unix-timestamp]    формат вывода даты, по умолчанию -- sql-string          $.date[sql-string|gmt-string|unix-timestamp]    формат вывода даты, по умолчанию -- sql-string
         $.table[object|array]    формат вывода таблицы, по умолчанию -- object          $.table[object|array|compact]    формат вывода таблицы, по умолчанию -- object
                                  object: [{"c1":"v11","c2":"v12",...},{"c1":"v21","c2":"v22",...},...]                                   object: [{"c1":"v11","c2":"v12",...},{"c1":"v21","c2":"v22",...},...]
                                  array:  [["c1","c2",...] || null (for nameless),["v11","v12",...],...]                                   array:  [["c1","c2",...] || null (for nameless),["v11","v12",...],...]
         $.file[text|base64]      вывести тело файла в указанном виде (по умолчание тело файла                                    compact:  ["v11" || ["v11","v12",...],...]
           $.file[text|base64|stat] вывести тело файла в указанном виде (по умолчание тело файла 
                                  не попадает в output)                                   не попадает в output)
           $.xdoc[hash]             параметры преобразования xdoc в строку (как в ^xdoc.string[])
         $.тип[method-junction]   любой тип можно вывести с помощью пользовательского метода, который           $.тип[method-junction]   любой тип можно вывести с помощью пользовательского метода, который 
                                  должен принимать 2 параметра: значение и параметры                                   должен принимать 3 параметра: ключ, объект данного типа и опции 
                                    вызова ^json:string[]
     ]]      ]]
         сериализует системный или пользовательский объект в json-строку          сериализует системный или пользовательский объект в json-строку
   
Line 875  odbc c:\drives\y\parser3project\odbc\deb Line 892  odbc c:\drives\y\parser3project\odbc\deb
 !date  !date
     !время типа time можно использовать в выражениях, подставляет       !время типа time можно использовать в выражениях, подставляет 
         количество дней с epoch [1 января 1970 (UTC)], дробное          количество дней с epoch [1 января 1970 (UTC)], дробное
     !всё происходит в localtime,       !строковое значение в местном времени, численное в UTC
     !временная зона задаётся вне parser средствами OS      !по умолчанию используется установленная средствами OS временная зона
     $date:UTC-offset  сколько дней надо прибавить,чтобы попасть в local время  
     $date:TZ  наш часовой пояс, дробное, в часах (где-то есть с точностью до получаса)  
     !^date::now[]      !^date::now[]
     !^date::now(смещение в днях) выдаёт сейчас+смещение      !^date::now(смещение в днях) выдаёт сейчас+смещение
     !^date::create(дней с epoch) // старое имя set      !^date::today[] дата на 00:00:00 текущего дня
     !^date::create(year;month[;day[;hour[;minute[;second]]]]) // старое имя set      !^date::create(дней с epoch)
       !^date::create(year;month[;day[;hour[;minute[;second]]]])
     !^date::create[дата в формате %Y-%m-%d %H:%M:%S]      !^date::create[дата в формате %Y-%m-%d %H:%M:%S]
         для удобного создания по значению из базы          для удобного создания по значению из базы
         формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]]          формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]]
Line 894  odbc c:\drives\y\parser3project\odbc\deb Line 910  odbc c:\drives\y\parser3project\odbc\deb
         TZ="" << локальная зона          TZ="" << локальная зона
     !^дата.roll[year|month|day](+-смещение) сдвигает дату      !^дата.roll[year|month|day](+-смещение) сдвигает дату
     !^дата.roll[TZ;Новая зона] говорит, что дата в таком-то часовом поясе: влияет на .hour & Co      !^дата.roll[TZ;Новая зона] говорит, что дата в таком-то часовом поясе: влияет на .hour & Co
     !^дата.sql-string[] %Y-%m-%d %H:%M:%S      !^date:roll[TZ;Новая зона] говорит, что по умолчанию все даты в таком-то часовом поясе
       !^дата.sql-string[[datetime|date|time]]
           datetime или без параметра -- %Y-%m-%d %H:%M:%S
           date                       -- %Y-%m-%d
           time                       -- %H:%M:%S
         where published='^дата.sql-string[]'          where published='^дата.sql-string[]'
     !^date:calendar[rus|eng](год;месяц) выдаёт неименованную таблицу       !^date:calendar[rus|eng](год;месяц) выдаёт неименованную таблицу 
         столбцы: 0..6, week, year          столбцы: 0..6, week, year

Removed from v.1.231  
changed lines
  Added in v.1.244


E-mail: