Diff for /parser3/operators.ru.txt between versions 1.173 and 1.178

version 1.173, 2004/04/06 13:14:22 version 1.178, 2005/02/17 14:54:51
Line 88  Xне сделано, видимо, не будет сделано Line 88  Xне сделано, видимо, не будет сделано
         выдавая нестандартный результат          выдавая нестандартный результат
     X^break[] + - обрывает цикл      X^break[] + - обрывает цикл
     X^continue[] + - обрывает итерацию цикла      X^continue[] + - обрывает итерацию цикла
     !^untaint[[as-is|file-spec|http-header|mail-header|uri|table|sql|js|xml|html|optimized-html]]{код}      !^untaint[[as-is|file-spec|http-header|mail-header|uri|sql|js|xml|html|optimized-html]]{код}
         default as-is          default as-is
     !^taint[[lang]][код]      !^taint[[lang]][код]
         default "just tainted, language unknown"          default "just tainted, language unknown"
Line 174  odbc    c:\drives\y\parser3project\odbc\ Line 174  odbc    c:\drives\y\parser3project\odbc\
     X^cache[read]       X^cache[read] 
         сигнализирует вышестоящему ^cache "взять скэшированное насильно, игнорируя expires", <br>          сигнализирует вышестоящему ^cache "взять скэшированное насильно, игнорируя expires", <br>
         выдаёт bool "получилось/нет"          выдаёт bool "получилось/нет"
           !^sleep(seconds)
   
   
     Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"      Xесть глобальный флажок в свойствах/командной строке "не оптимизировать"
Line 252  odbc    c:\drives\y\parser3project\odbc\ Line 253  odbc    c:\drives\y\parser3project\odbc\
         0 или default          0 или default
     !^имя.double[] (default)      !^имя.double[] (default)
         0 или default          0 или default
     !^void:sql{запрос без результата}      !^void:sql{запрос без результата}{$.bind[см. table::sql]}
   
   
 !int,double  !int,double
Line 264  odbc    c:\drives\y\parser3project\odbc\ Line 265  odbc    c:\drives\y\parser3project\odbc\
     !^имя.div(на сколько /)      !^имя.div(на сколько /)
     !^имя.mod(на сколько %)      !^имя.mod(на сколько %)
     !^имя.format[формат]      !^имя.format[формат]
     !^int/double:sql{query}[[$.limit(2) $.offset(4) $.default{0}]]      !^int/double:sql{query}[[$.limit(2) $.offset(4) $.default{0} $.bind[см. table::sql]]]
         запрос, результат которого должен быть один столбец/одна строка          запрос, результат которого должен быть один столбец/одна строка
   
 !string  !string
Line 276  odbc    c:\drives\y\parser3project\odbc\ Line 277  odbc    c:\drives\y\parser3project\odbc\
         пример:          пример:
         ^if(def $form:name) не пуста?          ^if(def $form:name) не пуста?
         ^if($user.isAlive) истина? [автопреобразование к числу, не ноль?]          ^if($user.isAlive) истина? [автопреобразование к числу, не ноль?]
     !^string::sql{query}[[$.limit(1) $.offset(4) $.default{n/a}]]      !^string::sql{query}[[$.limit(1) $.offset(4) $.default{n/a} $.bind[см. table::sql]]]
         результат запроса должен быть один столбец/одна строка          результат запроса должен быть один столбец/одна строка
     !^имя.int[] .int(default) целочисленное значение строки.       !^имя.int[] .int(default) целочисленное значение строки. 
         если ломается преобразование, берётся default          если ломается преобразование, берётся default
Line 332  odbc    c:\drives\y\parser3project\odbc\ Line 333  odbc    c:\drives\y\parser3project\odbc\
         !пустые строки, и строки в первой колонке содержащие '#', игнорируются                  !пустые строки, и строки в первой колонке содержащие '#', игнорируются        
         !$.separator[^#09]          !$.separator[^#09]
         !$.encloser["] по-умолчанию, нет.          !$.encloser["] по-умолчанию, нет.
     !^table::sql{query}[[$.limit(2) $.offset(4) todo:$.default{ ^table::create[...] }]]      !^table::sql{query}[[$.limit(2) $.offset(4) $.bind[hash] todo:$.default{ ^table::create[...] }]]
           bind привязывает переменные в запросе к их значениям
           пока реализован только для oracle
           в запросе надо написать ":имя"
           в параметре bind передать hash, из которого возьмётся(или куда запишется) значение
     !^таблица.save[[nameless|append;]путь[;опции, см. load]]      !^таблица.save[[nameless|append;]путь[;опции, см. load]]
     !$таблица.поле      !$таблица.поле
     !$таблица.fields  из named таблицы выдаёт текущую запись как Hash      !$таблица.fields  из named таблицы выдаёт текущую запись как Hash
Line 681  odbc    c:\drives\y\parser3project\odbc\ Line 686  odbc    c:\drives\y\parser3project\odbc\
     !^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
     !^file.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать      !^file.sql-string[] внутри ^connect даст правильно escaped строку, которую можно в запрос отдать
     !^file::sql[[имя_файла_для_download]]{}      X^file::sql[[имя_файла_для_download]]{}
       !^file::sql{}[[
           $.name[имя_файла_для_download]
           $.content-type[пользовательский content-type]
       ]]
         результат запроса должен быть "одна строка".          результат запроса должен быть "одна строка".
         колонки:          колонки:
         первая колонка - данные          первая колонка - данные
Line 990  console Line 999  console
     !$console:line      !$console:line
         read/write строку          read/write строку
   
 !DATA::=string | file  DATA::=string | file | hash
   
   !hash вида
   [
           $.file[имя файла на диске]
           $.name[имя файла для пользователя]
           $.mdate[date]
   ]
   
 !MAIN  !MAIN
     это класс, загружаемый на автомате из parser3.conf,       это класс, загружаемый на автомате из parser3.conf, 

Removed from v.1.173  
changed lines
  Added in v.1.178


E-mail: