Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: несколько условий в if
 
 
Здравствуйте, Сергей.
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"; . Так
что  оно  хоть  и  не  красиво,  но  работать  должно с почти такой же
скоростью, как работало бы красиво записанное выражение.
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
 
 |