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

version 1.111, 2003/04/11 15:00:04 version 1.121, 2003/11/03 11:22:06
Line 92  Xне сделано, видимо, не будет сделано Line 92  Xне сделано, видимо, не будет сделано
         default as-is          default as-is
     !^taint[[lang]][код]      !^taint[[lang]][код]
         default "just tainted, language unknown"          default "just tainted, language unknown"
     !^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код}      !^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код}[во что переименовать @main]
       !^process..[путь][во что переименовать @main]
       по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS]        по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS]
     !^connect[protocol://строка соединения]]{код с ^sql[...]-ями}      !^connect[protocol://строка соединения]]{код с ^sql[...]-ями}
         !mysql://user:pass@{host[:port]|[/unix/socket]}/database?          !mysql://user:pass@{host[:port]|[/unix/socket]}/database?
Line 271  odbc    c:\drives\y\parser3project\odbc\ Line 272  odbc    c:\drives\y\parser3project\odbc\
         s singleline = $ считается концом всего текста          s singleline = $ считается концом всего текста
         m multiline = $ считается концом строки[\n], не концом всего текста          m multiline = $ считается концом строки[\n], не концом всего текста
         g найти все вхождения, а не одно          g найти все вхождения, а не одно
           ' создавать столбцы prematch, match, postmatch
     !^строка.match[шаблон][опции поиска]{замена}      !^строка.match[шаблон][опции поиска]{замена}
         опции поиска+=          опции поиска+=
         g заменить все вхождения, а не одно          g заменить все вхождения, а не одно
Line 384  odbc    c:\drives\y\parser3project\odbc\ Line 386  odbc    c:\drives\y\parser3project\odbc\
 !cookie  !cookie
     !$cookie:имя считать старое или свежезаданное      !$cookie:имя считать старое или свежезаданное
     !$cookie:имя[значение] на 90 дней      !$cookie:имя[значение] на 90 дней
     !$cookie:имя[$.value[значение]  $.expires(дней, 0дней=session)]      !$cookie:имя[$.value[значение]  $.expires ЗНАЧЕНИЕ ]
       !значение поля expires может быть 'session', date, или число дней(0дней=session)
       ! если дата, она будет преобразована к формату "Sun, 25-Aug-2002 12:03:45 GMT"
   
 !request  !request
     !$request:query          !$request:query    
Line 601  Xhashfile Line 605  Xhashfile
         если указана ширина_символа, то monospaced, если 0, то ширина_символа = ширине gif          если указана ширина_символа, то monospaced, если 0, то ширина_символа = ширине gif
     !^картинка.text(x;y)[текст_надписи] AS_IS      !^картинка.text(x;y)[текст_надписи] AS_IS
     !^картинка.length[текст_надписи] AS_IS      !^картинка.length[текст_надписи] AS_IS
     !^картинка.gif[] -- кодирует в FILE с content-type=image/gif      !^картинка.gif[возможно, имя файла] -- кодирует в FILE с content-type=image/gif
           имя файла будет использовано при $response:download
     !^картинка.arc(center x;center y;width;height;start in degrees;end in degrees;color)      !^картинка.arc(center x;center y;width;height;start in degrees;end in degrees;color)
     !^картинка.sector(center x;center y;width;height;start in degrees;end in degrees;color)      !^картинка.sector(center x;center y;width;height;start in degrees;end in degrees;color)
     !^картинка.circle(center x;center y;r;color)      !^картинка.circle(center x;center y;r;color)
Line 653  Xhashfile Line 658  Xhashfile
     !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif      !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif
   
   
 math  !math
     !$math:PI      !$math:PI
     !^math:round floor ceiling       !^math:round floor ceiling 
     !^math:trunc frac      !^math:trunc frac
Line 663  math Line 668  math
     !^math:degrees radians      !^math:degrees radians
     !^math:pow sqrt      !^math:pow sqrt
     !^math:random(ширина диапазона)      !^math:random(ширина диапазона)
     ^math:GUID {C2C0983C-E26E-4169-BD07-77ECE9405BA5}      !^math:uuid[]
           22C0983C-E26E-4169-BD07-77ECE9405BA5
           win32: пользуется cryptapi
           unix: пользуется /dev/urandom, 
               если нет, /dev/random, 
               если нет, rand 
               [на solaris /dev/random можно добавить]
       !^math:uid64[]
          BA39BAB6340BE370
       !^math:md5[string]
           выдает digest строки, длиной 16 байт в виде строки, 
           где байты digest выданы в hex виде, впритык, в нижнем регистре
     !^math:crypt[password;salt]      !^math:crypt[password;salt]
        salt prefix $apr1$ вызывает встроенный MD5 алгоритм,          salt prefix $apr1$ вызывает встроенный MD5 алгоритм, 
          если нет тела salt, оно создаётся случайным           если нет тела salt, оно создаётся случайным
Line 685  math Line 701  math
         для удобного создания по значению из базы          для удобного создания по значению из базы
         формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]]          формат1: %Y[-%m[-%d[ %H[:%M[:%S]]]]]
         формат2: %H:%M[:%S]          формат2: %H:%M[:%S]
     !$date.year month day  hour minute second  weekday yearday(0...) daylightsaving      !^date::unix-timestamp()
       !^date.unix-timestamp[]
       !$date.year month day  hour minute second  weekday yearday(0...) daylightsaving TZ
         read-only          read-only
           TZ="" << локальная зона
     !^date.roll[year|month|day](+-смещение) сдвигает дату      !^date.roll[year|month|day](+-смещение) сдвигает дату
       !^date.roll[TZ;Новая зона] говорит, что дата в таком-то часовом поясе: влияет на .hour&co
     !^date.sql-string[] %Y-%m-%d %H:%M:%S      !^date.sql-string[] %Y-%m-%d %H:%M:%S
         where published='$дата.sql-string[]'          where published='$дата.sql-string[]'
     !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу       !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу 
Line 873  xdoc(xnode) Line 893  xdoc(xnode)
         attribute that is already inuse          attribute that is already inuse
         elsewhere          elsewhere
   
   !memory
       !^memory:compact[] собрать мусор, освободив место под новые данные
       (предупреждение: память процесса никогда не освобождается)
       полезно делать перед XSL transform.
   
 !status  !status
     !чтобы класс был доступен, в apache нужно сказать       !чтобы класс был доступен, в apache нужно сказать 
     <Location /parser-status.html>      <Location /parser-status.html>
Line 909  xdoc(xnode) Line 934  xdoc(xnode)
            $s[$status:rusage]             $s[$status:rusage]
            ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f]             ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f]
   
       !$status:memory hash
           !used
               Includes some pages that were allocated but never written.          
   
           !free
   
           !ever_allocated_since_compact
               Return the number of bytes allocated since the last collection.     
   
           !ever_allocated_since_start
               Return the total number of bytes [EVER(c)PAF] allocated in this process.            
               Never decreases.                                                    
   
   
 !DATA::=string | file  !DATA::=string | file
   
Line 953  xdoc(xnode) Line 991  xdoc(xnode)
         !по-умолчанию, получение http status != 200 >> создает http.status ошибку,          !по-умолчанию, получение http status != 200 >> создает http.status ошибку,
         !это можно отключить, передав          !это можно отключить, передав
         !$.any-status(1)          !$.any-status(1)
     !file::load в дополнительные поля записывает ПОЛЕ:значение (имена полей ответа заглавными буквами)          !$.charset[кодировка удалённых докуметов по-умолчанию] << если сервер вернёт content-type:charset=ОНА_ПЕРЕБИВАЕТ
       !file::load в дополнительные поля записывает
           !ПОЛЕ:значение (имена полей ответа заглавными буквами)
           !tables << хеш их ПОЛЕ->table с единственным столбцом "value". 
               в таких таблицах можно брать повторяющиеся заголовки. например, несколько set-cookies
               todo:сделать отдельный cookies
   
 !системные типы ошибок:  !системные типы ошибок:
     !parser.compile       ^test[}                компиляция (непарная скобка, ...)      !parser.compile       ^test[}                компиляция (непарная скобка, ...)

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


E-mail: