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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как передать в subrutine два arrays? 
V
    Опции темы
unkis
  Дата 30.10.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 1



Ребята, возникла такая маленькая проблема,  нужно передать два Arrays в subrutine.

я пытаюсь сделать это вот так

Код

@array1 = (1,0,0);
@array2 = (1,1,1);

@array3 = &addToVectors(@array1,@array2);
print "Array3 is @array3";
  
sub addToVectors{    
 my ( @v1, @v2) = @_;   
   @v3;        
    for(my $i; $i<@v1;$i++){
        $v3[$i] = ($v1[$i] xor $v2[$i])
    }    
    return @v3;
}


но при передачи, эти два arrays соединяются в один и присваиваются @v1,  а мне надо чтобы @v1 = @array1 и @v2 = @array2.

Вот и вопрос как все таки передать два arrays?


--------------------
www.unkis.com
PM MAIL WWW   Вверх
arto
Дата 30.10.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

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



по ссылке
PM MAIL ICQ   Вверх
GoodBoy
Дата 30.10.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



unkis, как уже сказали - работай ссылками... Либо переходи на Perl 6 - он позволит корректно работать твоему примеру...  smile 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
unkis
Дата 30.10.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 1



а это как?  smile 


--------------------
www.unkis.com
PM MAIL WWW   Вверх
amg
Дата 30.10.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

@array1 = (1,0,0);
@array2 = (1,1,1);

@array3 = &addToVectors(\@array1,\@array2);
print "Array3 is @array3\n";
  
sub addToVectors{    
 my ( $v1, $v2) = @_;   
 my @v3;        
    for($i=0; $i<@$v1;$i++){
        $v3[$i] = ($v1->[$i] xor $v2->[$i])
    }    
    return @v3;
}


PM MAIL   Вверх
unkis
Дата 30.10.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 1



спасибо


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


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

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


 




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


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

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