|
|
| version 1.228, 2009/11/06 04:53:27 | version 1.237, 2010/11/25 14:17:51 |
|---|---|
| Line 56 Xне сделано, видимо, не будет сделано | Line 56 Xне сделано, видимо, не будет сделано |
| !^if(условие){когда да}{когда нет} | !^if(условие){когда да}{когда нет} |
| !^if(условие1){да}[(условие2){да}[(условие2){да}[...]]]{нет} -- количество доп. условий не ограничено (в общем elseif это :) | |
| !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}} | !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}} |
| !^while(условие){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] | !^while(условие){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] |
| !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] | !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] |
| Line 140 Xне сделано, видимо, не будет сделано | Line 141 Xне сделано, видимо, не будет сделано |
| ClientCharset << charset in which parser thinks client works | ClientCharset << charset in which parser thinks client works |
| !sqlite://DBfile? | !sqlite://DBfile? |
| ClientCharset=parser-charset& << charset in which parser thinks client works | ClientCharset=parser-charset& << charset in which parser thinks client works |
| autocommit=1 | autocommit=1 |
| для работы connect нужно, чтобы заранее(рекомендуется в системном конфигурационном auto.p) | для работы connect нужно, чтобы заранее(рекомендуется в системном конфигурационном auto.p) |
| была определена таблица | была определена таблица |
| Line 180 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 360 odbc c:\drives\y\parser3project\odbc\deb | Line 361 odbc c:\drives\y\parser3project\odbc\deb |
| !$.separator[^#09] | !$.separator[^#09] |
| !$.encloser["] по-умолчанию, нет. | !$.encloser["] по-умолчанию, нет. |
| !^table::sql{query}[[$.limit(2) $.offset(4) $.bind[hash] todo:$.default{ ^table::create[...] }]] | !^table::sql{query}[[$.limit(2) $.offset(4) $.bind[hash] todo:$.default{ ^table::create[...] }]] |
| bind привязывает переменные в запросе к их значениям | bind привязывает переменные в запросе к их значениям |
| пока реализован только для oracle | пока реализован только для oracle |
| в запросе надо написать ":имя" | в запросе надо написать ":имя" |
| в параметре bind передать hash, из которого возьмётся(или куда запишется) значение | в параметре bind передать hash, из которого возьмётся(или куда запишется) значение |
| !^таблица.save[[nameless|append;]путь[;опции, см. load]] | !^таблица.save[[nameless|append;]путь[;опции, см. load]] |
| !$таблица.поле | !$таблица.поле |
| !$таблица.fields из named таблицы выдаёт текущую запись как Hash | !$таблица.fields из named таблицы выдаёт текущую запись как Hash |
| Line 425 odbc c:\drives\y\parser3project\odbc\deb | Line 426 odbc c:\drives\y\parser3project\odbc\deb |
| !^хеш.foreach[key;value]{тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] | !^хеш.foreach[key;value]{тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] |
| !^хеш.delete[ключ] удалить ключ | !^хеш.delete[ключ] удалить ключ |
| !^хеш.contain[ключ] - существует ли в хеше ключ (bool) | !^хеш.contain[ключ] - существует ли в хеше ключ (bool) |
| !^хэш._at[first|last] | |
| !^хэш._at([-]N) | |
| доступ к заданным элементам упорядоченного хеша | |
| !hashfile | !hashfile |
| !^hashfile::open[filename] | !^hashfile::open[filename] |
| Line 509 odbc c:\drives\y\parser3project\odbc\deb | Line 513 odbc c:\drives\y\parser3project\odbc\deb |
| !$response:headers накопленные поля | !$response:headers накопленные поля |
| !$response:body[DATA] замещает стандартный ответ | !$response:body[DATA] замещает стандартный ответ |
| !$response:download[DATA] замещает стандартный ответ, | !$response:download[DATA] замещает стандартный ответ, |
| выставляет флаг, заставляющий browser предложить download | выставляет флаг, заставляющий browser предложить download |
| !$response:status | !$response:status |
| !^response:clear[] забыть все заданные response поля | !^response:clear[] забыть все заданные response поля |
| !$response:charset | !$response:charset |
| Line 584 odbc c:\drives\y\parser3project\odbc\deb | Line 588 odbc c:\drives\y\parser3project\odbc\deb |
| $.message#[MESSAGE] (message, message2, ...) | $.message#[MESSAGE] (message, message2, ...) |
| !^mail:send[ | !^mail:send[ |
| $.options[-odd] | $.options[-odd] |
| unix: строка, которая будет добавлена к команде запуска sendmail | unix: строка, которая будет добавлена к команде запуска sendmail |
| -odd означает "быстро поставь в очередь без проверки email" | -odd означает "быстро поставь в очередь без проверки email" |
| win32: игнорируется | win32: игнорируется |
| $.charset[кодировка заголовка и текстовых блоков] | $.charset[кодировка заголовка и текстовых блоков] |
| $.any-header-field | $.any-header-field |
| $.text[string] | $.text[string] |
| Line 739 odbc c:\drives\y\parser3project\odbc\deb | Line 743 odbc c:\drives\y\parser3project\odbc\deb |
| !$файл_из_post.name | !$файл_из_post.name |
| !$файл_из_post.size | !$файл_из_post.size |
| !$файлtиз_post.text | !$файлtиз_post.text |
| !^файл.save[text|binary;имя файла[;$.charset[в какоq кодировке сохраняем]]] | !^файл.save[text|binary;имя файла[;$.charset[в какой кодировке сохраняем]]] |
| !^file:delete[имя файла] | !^file:delete[имя файла] |
| !^file:find[имя файла][{когда не нашли}] | !^file:find[имя файла][{когда не нашли}] |
| !^file:list[путь[;шаблон-строка|шаблон-regex]] = table с колонкой name | !^file:list[путь[;шаблон-строка|шаблон-regex]] = table с колонкой name |
| !^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;имя;data] |
| !^file::create[text;имя;data[;$.charset[кодировка букв в создаваемом файле]]] | |
| !$файл_который_был_loaded.size | !$файл_который_был_loaded.size |
| !$файл_который_был_loaded_или_created.mode = text/binary | !$файл_который_был_loaded_или_created.mode = text/binary |
| !^file::stat[имя файла] | !^file::stat[имя файла] |
| Line 777 odbc c:\drives\y\parser3project\odbc\deb | Line 782 odbc c:\drives\y\parser3project\odbc\deb |
| !^файл.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать | !^файл.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать |
| X^file::sql[[имя_файла_для_download]]{} | X^file::sql[[имя_файла_для_download]]{} |
| !^file::sql{}[[ | !^file::sql{}[[ |
| $.name[имя_файла_для_download] | $.name[имя_файла_для_download] |
| $.content-type[пользовательский content-type] | $.content-type[пользовательский content-type] |
| ]] | ]] |
| результат запроса должен быть "одна строка". | результат запроса должен быть "одна строка". |
| колонки: | колонки: |
| первая колонка - данные | первая колонка - данные |
| если есть вторая - это имя файла | если есть вторая - это имя файла |
| если есть третья - это content-type | если есть третья - это content-type |
| !^файл.base64[] encode | !^файл.base64[] encode |
| !^file:base64[имя файла] encode | !^file:base64[имя файла] |
| !^file::base64[encoded string] decode | encode |
| !^file::base64[encoded string] | |
| !^file::base64[mode;имя файла;encoded string[;$.content-type[...]]] | |
| decode | |
| !^file:crc32[имя файла] | !^file:crc32[имя файла] |
| вычисляет crc32 файла с указанным именем | вычисляет crc32 файла с указанным именем |
| !^файл.crc32[] | !^файл.crc32[] |
| вычисляет crc32 объекта | вычисляет crc32 объекта |
| !^файл.md5[] | !^файл.md5[] |
| !^file:md5[имя файла] | !^file:md5[имя файла] |
| выдает digest файла, длиной 16 байт в виде строки, | выдает digest файла, длиной 16 байт в виде строки, |
| где байты digest выданы в hex виде, впритык, в нижнем регистре | где байты digest выданы в hex виде, впритык, в нижнем регистре |
| Line 828 odbc c:\drives\y\parser3project\odbc\deb | Line 836 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 |
| !^inet:ntoa(long) | !^inet:ntoa(long) |
| !^inet:aton[IP] | !^inet:aton[IP] |
| !json | |
| !^json:parse[-json-строка-[; | |
| $.depth(максимальная глубина, default == 19) | |
| $.double(false) отключить встроенный парсинг чисел с плавающей точкой (по умолчанию включен) | |
| в этом случае они попадут в результирующий объект как строки | |
| $.distinct[first|last|all] как будет происходить разбор дублирующихся ключей у объектов | |
| first -- будет оставлен первый встретившийся элемент | |
| last -- будет оставлен последний встретившийся элемент | |
| all -- будут оставлены все элементы. при этом элементы, начиная со 2 | |
| получат числовые суффиксы (key_2 итд) | |
| по умолчанию дублирующиеся ключи приведут к exception | |
| $.object[method-junction] пользовательский метод[ключ;объект], которому будут передаваться все разобранные | |
| объекты и ключи объекта, метод возвращает новый объект | |
| ]] | |
| парсит json-строку в хэш | |
| !^json:string[system or user object[; | |
| $.skip-unknown(false) отключить exception и выдавать 'null' при сериализации объектов с типами | |
| отличных от void, bool, string, int, double, date, table, hash и file | |
| $.indent(true) форматировать результирующую строку табуляциями по глубине вложенности | |
| $.date[sql-string|gmt-string|unix-timestamp] формат вывода даты, по умолчанию -- sql-string | |
| $.table[object|array|compact] формат вывода таблицы, по умолчанию -- object | |
| object: [{"c1":"v11","c2":"v12",...},{"c1":"v21","c2":"v22",...},...] | |
| array: [["c1","c2",...] || null (for nameless),["v11","v12",...],...] | |
| compact: ["v11" || ["v11","v12",...],...] | |
| $.file[text|base64] вывести тело файла в указанном виде (по умолчание тело файла | |
| не попадает в output) | |
| $.тип[method-junction] любой тип можно вывести с помощью пользовательского метода, который | |
| должен принимать 3 параметра: ключ, объект данного типа и опции | |
| вызова ^json:string[] | |
| ]] | |
| сериализует системный или пользовательский объект в json-строку | |
| !date | !date |
| !время типа time можно использовать в выражениях, подставляет | !время типа time можно использовать в выражениях, подставляет |
| Line 1099 xdoc(xnode) | Line 1140 xdoc(xnode) |
| !$status:memory hash | !$status:memory hash |
| !used | !used |
| Includes some pages that were allocated but never written. | Includes some pages that were allocated but never written. |
| !free | !free |
| Line 1107 xdoc(xnode) | Line 1148 xdoc(xnode) |
| Return the number of bytes allocated since the last collection. | Return the number of bytes allocated since the last collection. |
| !ever_allocated_since_start | !ever_allocated_since_start |
| Return the total number of bytes [EVER(c)PAF] allocated in this process. | Return the total number of bytes [EVER(c)PAF] allocated in this process. |
| Never decreases. | Never decreases. |
| !$status:pid process id | !$status:pid process id |
| !$status:tid thread id | !$status:tid thread id |