если ориентироваться на стандартный сплит
Sergey M. 23.12.2004 17:03
/ 23.12.2004 17:13
тогда ещё несколько моментов:
1. имеет смысл заранее вычистить из $divider все "неправильные" опции
2. из того что останется вычистить все повторяющиеся опции
3. с тем что осталось уже можно более-менее уверенно работать с помощю ^switch/^case, но всё равно один кейс придется отдать под ошибку "conflicting split options" (rl например, но реально вариантов гораздо больше).
либо не делать кейс под ошибку, а проверять отдельно на r&l и h&v, возможно будет проще.
либо проверять на конфликт опций но ошибку не выдавать, а просто игнорировать "опции по умолчанию", считая их ниже приоритетом, но опять-же в стандартном сплите такой подход не используется, и наверное на то есть серьёзные причины...