| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 03.12.2006 12:51 / 03.12.2006 12:54
т.к. основная фишка, ради которой и используют биты, состоит в том, что несколько битов может быть установлено одновременно, т.е. в случае switch нам нужно будет идти как бы по нескольким веткам одновременно. однако switch этого не умеет, т.к. он позволяет делать выбор лишь одного варианта из нескольких.@right_name[iType]
^if(^tAccessTypes.locate($tAccessTypes.type & $iType)){
$result[$tAccessTypes.title]
}{
$result[]
}и использовать switch: ^switch[^right_name(^hItem.type_is.int(0))]{
^case[basket]{
код
}
^case[ordered]{
код
}
^case[confirmed]{
код
}
}кроме того я немного иначе написал бы метод right_is (не знаю, эффективнее он стал бы или нет, проверьте сами): @right_is[sTitle;iType] $result(^tAccessTypes.locate($tAccessTypes.title eq $sTitle && $tAccessTypes.type & $iType)) # end of @right_is[]P.S. перечислять в списке локальных переменных входные переменные нет необходимости, они и так локальные.