Diff for /parser3/operators.ru.txt between versions 1.121 and 1.129

version 1.121, 2003/11/03 11:22:06 version 1.129, 2003/11/06 10:09:33
Line 309  odbc    c:\drives\y\parser3project\odbc\ Line 309  odbc    c:\drives\y\parser3project\odbc\
     !^table::load[[nameless;]путь[;опции]]      !^table::load[[nameless;]путь[;опции]]
         !если не nameless, названия колонок берутся из первой строки          !если не nameless, названия колонок берутся из первой строки
         !пустые строки, и строки в первой колонке содержащие '#', игнорируются                  !пустые строки, и строки в первой колонке содержащие '#', игнорируются        
           !$.separator[^#09]
           !$.encloser["] по-умолчанию, нет.
     !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]]      !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]]
     !^таблица.save[[nameless|append;]путь]      !^таблица.save[[nameless|append;]путь[;опции, см. load]]
     !$таблица.поле      !$таблица.поле
     !$таблица.fields  из named таблицы выдаёт текущую запись как Hash      !$таблица.fields  из named таблицы выдаёт текущую запись как Hash
     !^таблица.menu{тело}[разделитель]      !^таблица.menu{тело}[разделитель]
Line 352  odbc    c:\drives\y\parser3project\odbc\ Line 354  odbc    c:\drives\y\parser3project\odbc\
         !_default - специальный ключ, если задан,           !_default - специальный ключ, если задан, 
         то при обращении по ключу, которому нет соответствия, выдаётся _default значение           то при обращении по ключу, которому нет соответствия, выдаётся _default значение 
     !$hash.fields выдает $hash. чтобы класс hash был чуть больше похож на класс table      !$hash.fields выдает $hash. чтобы класс hash был чуть больше похож на класс table
     !^hash::create[[!copy_from_hash|Xcopy_from_hashfile]]      !^hash::create[[!copy_from_hash|copy_from_hashfile]]
         создаёт новый hash, копию старого          создаёт новый hash, копию старого
     !^hash.add[слагаемое]      !^hash.add[слагаемое]
         перезаписывает одноимённые          перезаписывает одноимённые
Line 394  odbc    c:\drives\y\parser3project\odbc\ Line 396  odbc    c:\drives\y\parser3project\odbc\
     !$request:query          !$request:query    
     !$request:body unprocessed POST request body      !$request:body unprocessed POST request body
     !$request:uri      !$request:uri
       !$request:document-root
           каталог, относительно которого считаются пути в parser, по-умолчанию = $env:DOCUMENT_ROOT
           можно изменить, если на hosting что-то неудобно настроено
     X!$request:browser  это hash, поля:      X!$request:browser  это hash, поля:
         !$type = ie/nn и !$version = номер, скажем 5.5                 !$type = ie/nn и !$version = номер, скажем 5.5       
     X$request:user      X$request:user
Line 425  odbc    c:\drives\y\parser3project\odbc\ Line 430  odbc    c:\drives\y\parser3project\odbc\
         ПРЕДУПРЕЖДЕНИЕ: класс form получает свои поля после обработки всех auto класса MAIN          ПРЕДУПРЕЖДЕНИЕ: класс form получает свои поля после обработки всех auto класса MAIN
         поэтому необходимо задать $request/response:charset в одном из них. не после.          поэтому необходимо задать $request/response:charset в одном из них. не после.
   
 Xhashfile  hashfile
     !^hashfile::open[$DB_HOME;filename]      !^hashfile::open[filename]
     !^hashfile.clear[]      ^hashfile.clear[]  забыть всё
         забыть всё      !.ключ[значение]  положить значение
     !.ключ[значение]  положить значение навечно      .ключ[$.value[значение] $.expires(секунд)}  положить значение на expires секунд
     !.ключ[$.value[значение] $.expires(секунд)}  положить значение на expires секунд  
     !.ключ  достать      !.ключ  достать
     !^cache[ключ](секунд){код}      !^delete[ключ]  удалить ключ
         !суть то же, что и "положить+достать", но за один раз и компактнее      ^hash[]
         !если 0секунд, значит не кэшировать, а старый такой стереть  
         !внутри {кода} может быть вызван ^delete[]  
     !^delete[[ключ]]  удалить ключ  
         !буде вызван без параметра изнутри cache, отменяет кэширование блока:  
         !блок не будет скэширован, его старое значение будет стёрто  
     !^hash[]  
         преобразовать в обычный hash          преобразовать в обычный hash
     !^foreach[key|value]{тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}]      ^foreach[key|value]{тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}]
   
   
     примеры:      пример:
     $uids[^hashfile::assign[/db/uids]]      $uids[^hashfile::assign[/db/uids]]
     $code:clear[/db/cache]]  
     $code[^hashfile::assign[/db/cache]]  
           
     $random[23847387taduigh345XGHWElxjgdjg]      $random[23847387taduigh345XGHWElxjgdjg]
     $uids.$random[$.value[$uid] $.expires(60*30)]      $uids.$random[$.value[$uid] $.expires(60*30)]
     $uid[$persistent.logins.$random]      $uid[$persistent.logins.$random]
   
     ^code.cache[заголовки новостей](35){....}  
   
 !mail  !mail
     !$mail.received=MESSAGE:      !$mail.received=MESSAGE:
         .from          .from
Line 483  Xhashfile Line 476  Xhashfile
         $.message#[MESSAGE] (message, message2, ...)          $.message#[MESSAGE] (message, message2, ...)
   
     !^mail:send[      !^mail:send[
           $.options[-odd]
                   unix: строка, которая будет добавлена к команде запуска sendmail
                       -odd означает "быстро поставь в очередь без проверки email"
                   win32: игнорируется
         $.charset[кодировка заголовка и текстовых блоков]           $.charset[кодировка заголовка и текстовых блоков] 
         $.any-header-field           $.any-header-field 
         $.text[string]          $.text[string]

Removed from v.1.121  
changed lines
  Added in v.1.129


E-mail: