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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать локальный псевдоним переменной? 
:(
    Опции темы
Logo
Дата 20.10.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



Глобальный знаю как, *a = \$b а как сделать локальный, с лексической областью видимости?
PM MAIL   Вверх
sir_nuf_nuf
Дата 20.10.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 14
Всего: 31



our $x; - объявляет глобальную перменную с именем x в текущем пакете, но имя x будет обладать лексической видимостью.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
Logo
Дата 20.10.2009, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



Видимо не очень понятно обьяснил. Можно создать псевдоним переменой способом указанным выше, но он будет глобальным.
Цитата

$b = 'qwe';
*a = \$b;
print $a; #выведет qwe, a теперь псевдоним для $b

Но этот псевдоним глобальный. Локальные псевдонимы создаются неявно
Цитата

$b = 'qwe';
for my $a($b) {print $a; #выведет qwe, a теперь псевдоним для $b}
print $a; #предупреждение т.к. $a больше не соответствует $b.

а также в @_, given и д.р.
Но как создать локальный псевдоним напрямую я пока не нашел.
PM MAIL   Вверх
KSURi
Дата 20.10.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 20
Всего: 27



use Alias;


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
Logo
Дата 20.10.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



Спасибо, как раз. Правда этих Alias модулей я насчитал не меньше 8 штукsmile
PM MAIL   Вверх
ginnie
Дата 21.10.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Logo, я бы попробовал использовать Lexical::Alias.


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


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

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


 




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


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

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