![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| mastercz |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Хотелось бы передавать переменные в подпрограмму класическим способом тоесть :имя переменной -> значение.
Как я понимаю в перле это можно сделать только через передачу хэш массива. Вопрос в следующем... Можно ли (и если можно то как ) внутри подпрограммы преобразовать хэш к виду: имя переменной -> значение. Что нибудб вроде :
Чтобы в подпрограмме получить:
Причем хотелось бы иметь некий универсальный метод перевода (автоматический), дабы не писать каждый раз что-то типа:
|
||||||
|
|||||||
| dmitryk1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 10.6.2008 Где: Новосибирск Репутация: 2 Всего: 2 |
А что мешает в подпрограмме использовать:
sub mysub( %hash=shift; my $myvar=$hash['Parameter1']+$hash['Parameter2']; ) и вызов mysub(%myhash); |
|||
|
||||
| amg |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
|
||||||
|
|||||||
| mvsgt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Ещё лучше посмотреть на модуль Params::Validate , тогда к возможностям предыдущего примера добавляется контроль типов. MooseX::Params::Validate сделан по образцу и подобию, кстати.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |