несколько условий в if
Sergey Averyanov
asv at pallant-mobile.ru
Tue Apr 28 15:28:39 MSD 2009
В сообщении от Tuesday 28 April 2009 15:07:52 Михаил Монашёв написал(а):
> Здравствуйте, Сергей.
>
> SA> В сообщении от Tuesday 28 April 2009 14:23:54 Sergey Averyanov
написал(а):
> >> нужно сочинить конструкцию, которая выполнит определенное действие по
> >> совокупности двух условий. одно из условий -- истинное значение
> >> переменной $some_var, вычисляемой ngx_http_geo_module, второе -- к
> >> примеру, $host = 'foo.ru'
> >>
> >> выражение
> >> if ($some_var && ($host = 'foo.ru'))
> >> естественно, не работает.
> >>
> >> вопрос: как это сделать идеологически правильно?
>
> SA> единственное, что нашлось по архиву рассылки, это такой финт ушами:
> SA> if ($some_var) {
> SA> set $i "a";
> SA> }
>
> SA> if ($host = 'foo.ru') {
> SA> set $i "a$i";
> SA> }
>
> SA> if ($i = "aa") {
> SA> do_something;
> SA> }
>
> SA> но это выглядит как то не красиво. есть ощущение, что можно сделать
> лучше
>
> Если подумать, как работал бы if ($some_var && ($host = 'foo.ru')), то
> можно придти к выводу, что он раскладывался бы машиной примерно в
> такую же конструкцию, за исключением конкатенации set $i "a$i"; . Так
> что оно хоть и не красиво, но работать должно с почти такой же
> скоростью, как работало бы красиво записанное выражение.
спасибо, вы меня обрадовали :)
--
С уважением,
Сергей Аверьянов
More information about the nginx-ru
mailing list