|
|
|
HappyLife |
|
|||
Опытный Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: нет Всего: 8 |
Необходимо реализовать алгоритм проверки условий.
Предположим у нас есть параметры: x = 10, y = 4. Есть разные методы. необходимо выполнить тот метод, фильтр которого соответствует тем параметрам, что пришли. Фильтры такого плана ((x = 1) or (y=2)) and (z = 10) -> Выполняем то-то и то-то (x = 3) and (z = 10) -> Выполняем то-то и то-то (y = 4) -> Выполняем то-то и то-то Здесь у нас правильный фильтр будет третий. Фильтры и приходящие параметры - это текстовые строки и они могут быть любыми. Это сообщение отредактировал(а) HappyLife - 26.6.2012, 15:10 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 453 |
Если речь о том, что ищется ТОЧНОЕ совпадение параметров и фильтров - то достаточно формализовать частные условия фильтров. При этом набор из примера будет трансформирован в: u1) x = 1 u2) y=2 u3) z = 10 u4) x = 3 u5) z = 10 u6) y = 4 p1) (u1 or u2) and u3 p2) u4 and u5 p3) u6 Далее выполняется парсинг и распознание параметров, и присвоение true тем частным условиям, котрые соответствуют этим параметрам. В примере u1..u5 будут false, u6 будет true, параметр x = 10 будет проигнорирован как отсутствующий в списке частных условий. После чего выполняется вычисление значений фильтров. p1 и p2 дадут false, а p3 даст true - вот его метод и нужно выполнить. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
HappyLife |
|
|||
Опытный Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: нет Всего: 8 |
Как эти данные хранить, проверять? был бы даже признателен за ссылку реализации.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 453 |
Хранить и проверять - наверное, в базе данных. А вот конкретных ссылок, тем более на похожие реализации, от меня можно не ждать. Не программист я.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
W4FhLF |
|
|||
found myself Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 5 Всего: 121 |
muParser попробуйте, он понимает логические выражение любой сложности.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
_Y_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Если в условии для каждой проверочной функции разнятся только числа, в ходе выбора функции можно использовать регулярные выражения.
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |