Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> конструкция, какую функцию выполняет 
:(
    Опции темы
Bulat
Дата 15.11.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Вообщем-то вопрос простой, однако, млин, чтот поискал в свем справочнике не нашел smile
Код

exists $logins{"$address"})?($logins{"$address"}):($logins{"$address"}=...


конструкция какую функцию выполняет... вот "?" и ":" к чему?


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Nab
Дата 15.11.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 26
Всего: 37



если $logins{"$address"} существует, то будет возвернут именно он, иначе ему будет присвоено значение и опять же он будет возвращен как результат.

это упрощенная форма 

IF
 return
ELSE
 return

, очень удобна при простых проверках, и таких конструкциях.

Конечно можно было бы написать:

$logins{"$address"} ||= ... новое значение.

Но такая конструкция проверяет истинность ключа, а не его существование, то есть если там будет 0 или пустая строка, она тоже выполниться, поэтому приходиться строить более сложное выражение.

А вот 
$logins{"$address"} ||= ...
и 
(defined $logins{"$address"})?($logins{"$address"})smile$logins{"$address"}=...)
в  принципе эквивалентны...




--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1211 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.