Diff for /parser3/operators.ru.txt between versions 1.217 and 1.229

version 1.217, 2009/06/25 08:44:45 version 1.229, 2009/11/10 03:16:23
Line 96  Xне сделано, видимо, не будет сделано Line 96  Xне сделано, видимо, не будет сделано
         выдавая нестандартный результат          выдавая нестандартный результат
     !^break[] + - обрывает цикл      !^break[] + - обрывает цикл
     !^continue[] + - обрывает итерацию цикла      !^continue[] + - обрывает итерацию цикла
     !^untaint[[as-is|file-spec|http-header|mail-header|uri|sql|js|xml|html|optimized-html|regex]]{код}      !^untaint[[as-is|file-spec|http-header|mail-header|uri|sql|js|xml|html|optimized-html|regex|parser-code]]{код}
         default as-is          default as-is
     !^taint[[lang]][код]      !^taint[[lang]][код]
         default "just tainted, language unknown"          default "just tainted, language unknown"
Line 296  odbc c:\drives\y\parser3project\odbc\deb Line 296  odbc c:\drives\y\parser3project\odbc\deb
         пример:          пример:
         ^if(def $form:name) не пуста?          ^if(def $form:name) не пуста?
         ^if($user.isAlive) истина? [автопреобразование к числу, не ноль?]          ^if($user.isAlive) истина? [автопреобразование к числу, не ноль?]
     !^string::sql{query}[[$.limit(1) $.offset(4) $.default{n/a} $.bind[см. table::sql]]]      !^string:sql{query}[[$.limit(1) $.offset(4) $.default{n/a} $.bind[см. table::sql]]]
         результат запроса должен быть один столбец/одна строка          результат запроса должен быть один столбец/одна строка
     !^строка.int[] .int(default) целочисленное значение строки.       !^строка.int[] .int(default) целочисленное значение строки. 
         если ломается преобразование, берётся default          если ломается преобразование, берётся default
Line 336  odbc c:\drives\y\parser3project\odbc\deb Line 336  odbc c:\drives\y\parser3project\odbc\deb
         <0 = не найдено          <0 = не найдено
     !^строка.replace[$таблица_подстановок_строка_на_строку]      !^строка.replace[$таблица_подстановок_строка_на_строку]
     !^строка.save[[append;]путь]      !^строка.save[[append;]путь]
       !^строка.save[путь[;$.charset[в какой кодировке сохраняем] $.append(true)]]
     !^строка.normalize[] выдает другую строку, в которой фрагменты на одном языке объединены      !^строка.normalize[] выдает другую строку, в которой фрагменты на одном языке объединены
         полезно делать перед сложными match операциями, если вы знаете, что входная строка          полезно делать перед сложными match операциями, если вы знаете, что входная строка
         состоит из большого числа фрагментов          состоит из большого числа фрагментов
Line 523  odbc c:\drives\y\parser3project\odbc\deb Line 524  odbc c:\drives\y\parser3project\odbc\deb
   
 !regex  !regex
     !в выражении       !в выражении 
         !логическое значение равно true          !логическое значение всегда равно true
         !числовое значение равно количество байт скомпилированного шаблона.          !числовое значение равно количеству байт скомпилированного шаблона.
     !^regex::create[шаблон-строка][[опции поиска]]      !^regex::create[шаблон-строка][[опции поиска]]
     !^шаблон.size[] количество байт скомпилированного шаблона      !^шаблон.size[] количество байт скомпилированного шаблона
         если значение очень большое -- стоит почитать документацию по pcre и, возможно, переписать шаблон.          если значение очень большое -- стоит почитать документацию по pcre и, возможно, переписать шаблон.
Line 533  odbc c:\drives\y\parser3project\odbc\deb Line 534  odbc c:\drives\y\parser3project\odbc\deb
     ^шаблон.load[filespec]      ^шаблон.load[filespec]
   
   
   !reflection
       !^reflection:create[класс;конструктор[;пара;[мет[;ры]]]]  вызывает указанный конструктор класса (не более 100 параметров)
       !^reflection:classes[]                 хеш со всеми классами. ключ -- имя класса, значение бывает methoded (класс с методами) или void
       !^reflection:class[объект]             класс переданного объекта
       !^reflection:class_name[объект]        имя класса переданного объекта
       !^reflection:base[объект]              родительский класс переданного объекта
       !^reflection:base_name[объект]         имя родительского класса переданного объекта
       !^reflection:methods[класс]            хеш со списком методов указанного класса, значения -- строки 'native' или 'parser'
       !^reflection:fields[класс или объект]  хеш со списком статических полей указанного класса или динамических полей указанного объекта
       !^reflection:method_info[класс;метод]  хеш с параметрами указанного метода класса
            $.inherited[класс]                имя класса, где метод был определён (возвращается только если метод был определён в предке)
            для native классов возвращается хеш:
                .min_params(минимально необходимое число параметров)
                .max_params(максимально возможное число параметров)
                .call_type[dynamic|static|any]
            для parser классов возвращается хеш:
                ключ -- номер параметра (0, 1, ...), значение - имя параметра
       !^reflection:dynamical[[object or class, caller if absent]]    возвращает true, если метод был вызван из динамического контекста
                                                                      при передаче параметра возвращает true, если передан динамический объект,
                                                                      false если класс
   
   
 !mail  !mail
     !$mail.received=MESSAGE:      !$mail.received=MESSAGE:
         .from          .from
Line 716  odbc c:\drives\y\parser3project\odbc\deb Line 739  odbc c:\drives\y\parser3project\odbc\deb
     !$файл_из_post.name       !$файл_из_post.name 
     !$файл_из_post.size       !$файл_из_post.size 
     !$файлtиз_post.text      !$файлtиз_post.text
     !^файл.save[text|binary;имя файла]      !^файл.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;имя;^untaint[xml]{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[имя файла]

Removed from v.1.217  
changed lines
  Added in v.1.229


E-mail: