|
|
| version 1.80, 2002/09/02 14:59:48 | version 1.85, 2002/10/08 12:54:55 |
|---|---|
| Line 5 Xне сделано, видимо, не будет сделано | Line 5 Xне сделано, видимо, не будет сделано |
| операторы | операторы |
| !^eval(выражение)[формат] выражение, кроме обычных функций:: | !^eval(выражение)[формат] выражение, кроме обычных функций:: |
| !допустимы #комментарии | |
| работают до конца строки или закрывающейся круглой скобки | |
| внутри комментария допустимы вложенные круглые скобки | |
| !из неочевидных операторов: | !из неочевидных операторов: |
| # побитный xor | !| побитный xor |
| ## логический xor | !|| логический xor |
| ~ побитное отрицание | ~ побитное отрицание |
| \ целочисленное деление 10\3=3 | \ целочисленное деление 10\3=3 |
| !def для проверки defined, | !def для проверки defined, |
| пустая строка не defined | пустая строка не defined |
| пустая таблица не defined | пустая таблица не defined |
| пустой hash не defined | пустой hash не defined |
| ^if(method $hash.delete){yes} | |
| !eq ne lt gt le ge для сравнения строк, | !eq ne lt gt le ge для сравнения строк, |
| !in "/dir/" для проверки | !in "/dir/" для проверки |
| ["внутри не допустимы, если надо сравнить со сложным, | ["внутри не допустимы, если надо сравнить со сложным, |
| Line 27 Xне сделано, видимо, не будет сделано | Line 31 Xне сделано, видимо, не будет сделано |
| !числовой литерал бывает 0xABC | !числовой литерал бывает 0xABC |
| !приоритеты: | !приоритеты: |
| /* logical */ | /* logical */ |
| %left "##" | %left "!||" |
| %left "||" | %left "||" |
| %left "&&" | %left "&&" |
| %left '<' '>' "<=" ">=" "lt" "gt" "le" "ge" | %left '<' '>' "<=" ">=" "lt" "gt" "le" "ge" |
| Line 37 Xне сделано, видимо, не будет сделано | Line 41 Xне сделано, видимо, не будет сделано |
| условие ? когдаДа: когдаНет | условие ? когдаДа: когдаНет |
| /* bitwise */ | /* bitwise */ |
| %left '#' | %left '!|' |
| %left '|' | %left '|' |
| %left '&' | %left '&' |
| %left '~' | %left '~' |
| Line 321 odbc c:\drives\y\parser3project\odbc\ | Line 325 odbc c:\drives\y\parser3project\odbc\ |
| !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать | !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать |
| !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool | !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool |
| !^таблица.locate(логическое выражение) передвигает текущую строку, если найдёт. выдаёт bool | !^таблица.locate(логическое выражение) передвигает текущую строку, если найдёт. выдаёт bool |
| !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]]+ | !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]][[$.distinct(1)]] |
| значением $hash.ключ будет hash в котором поля значений будут ключами | значением $hash.ключ будет hash в котором поля значений будут ключами |
| поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой | поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой |
| !^таблица.columns[]+ таблица из одного столбца $column | !^таблица.columns[]+ таблица из одного столбца $column |
| Line 347 odbc c:\drives\y\parser3project\odbc\ | Line 351 odbc c:\drives\y\parser3project\odbc\ |
| !^a.intersection[b] = пересечение | !^a.intersection[b] = пересечение |
| значения a | значения a |
| !^a.intersects[b] = bool | !^a.intersects[b] = bool |
| !^hash::sql{запрос}[[$.limit(2) $.offset(4) todo:$.default{$.field[]...}]] | !^hash::sql{запрос}[[$.distinct(1) $.limit(2) $.offset(4) todo:$.default{$.field[]...}]] |
| получается hash(ключи=значения первая колонка ответа) | получается hash(ключи=значения первая колонка ответа) |
| of hash(ключи=названия остальных колонкок ответа) | of hash(ключи=названия остальных колонкок ответа) |
| !^hash._keys[]+ таблица из одного столбца $key | !^hash._keys[]+ таблица из одного столбца $key |