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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамический вывод на экран содержания массива, Вопрос по динамическому выводу на экран 
:(
    Опции темы
Ismoilzoda
Дата 13.8.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую друзья!

Стоит задача о динамическом выводе информации хоронящихся в массиве, привожу пример:

есть

 my @array = ();

$array[0] = "AAA";
$array[1] = "BBB";
$array[2] = "CCC";


   $message = @array; 

    print "$message";

т.е при каждом print , на экран печатался один из элементов массива, что то типа динамики. 
Не судите строго пожалуйста, я сам только начинаю программировать. 
Заранее благодарен.
PM MAIL   Вверх
gcc
Дата 13.8.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


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

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



легче всего так:
Код

print "@array \n";


или
Код

print "@array \n\n";

PM WWW ICQ Skype GTalk Jabber   Вверх
Ismoilzoda
Дата 13.8.2009, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(gcc @ 13.8.2009,  10:08)
легче всего так:
Код

print "@array \n";


или
Код

print "@array \n\n";

Но так выводится на экран все три элемента 

./test.pl
AAA BBB CCC

а нужно что бы при каждом выполнении скрипта, выводился один элемент, и так далее по очереди или хаотична. 
PM MAIL   Вверх
shamber
Дата 13.8.2009, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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




Код

my $i = 2; #(или что-то динамическое)

print $array[$i];

PM MAIL Jabber   Вверх
ginnie
Дата 13.8.2009, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



предложу 
Код

print $array[rand(@array)], $/;



--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
amg
Дата 13.8.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Ismoilzoda @  13.8.2009,  09:50 Найти цитируемый пост)
т.е при каждом print , на экран печатался один из элементов массива, что то типа динамики.
Может, сгодится что-то вроде
Код
my @array = qw(AAA BBB CCC);
print next_element(@array);
print next_element(@array);
print next_element(@array);
print next_element(@array);

INIT {
  my $i = 0;
  sub next_element {
    return undef if $i > $#_;
    $_[$i++];
  }
}



Это сообщение отредактировал(а) amg - 13.8.2009, 16:38
PM MAIL   Вверх
KSURi
Дата 13.8.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



A зачем INIT {} ?

Добавлено через 2 минуты и 42 секунды
Я, кстати, так и не понял, что требуется(


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


Эксперт
***


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

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



Цитата(KSURi @  13.8.2009,  17:19 Найти цитируемый пост)
A зачем INIT {} ?
Без INIT, если блок с закрытой переменной и подпрограммой расположен после вызова подпрограммы, будет предупреждение на использование неинициализированной переменной в сравнении. 

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


Опытный
**


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

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



А, я просто не сразу понял, что это вы так изобразили объявление
Код

my @array = qw(AAA BBB CCC);
my $i = 0;

...



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


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

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


 




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


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

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