Автор Тема: Создание массива массивов  (Прочитано 6328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« : 03 Июня 2004, 12:33:34 »
Задаю его так, все замечательно:
@data = ([\'2004-05-28\', \'2004-05-29\', \'2004-05-30\', \'2004-05-31\', \'2004-06-01\', \'2004-06-02\', \'2004-06-03\'],[18, 10, 2, 10, 10, 8, 5],[36, 20, 7, 19, 20, 14, 7],[15, 7, 2, 4, 6, 8, 3]);

Задаю его так, нифига:
@data = ([@data1],[@data2],[@data3],[@data4]);
Хотя @data1,@data2,@data3,@data4 содержат все те же самые данные.
Как корректно задать массив массивов, вставляя в него не статические данные?

заранее благодарю.
С уважением Сергей

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #1 : 03 Июня 2004, 12:52:29 »
use Data::Dumper;
print Dumper(@data);
The documentations is your friend

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #2 : 03 Июня 2004, 13:12:31 »
Вот что я вижу.
$VAR1 = [ \'\\\'2004-05-28\\\', \\\'2004-05-29\\\', \\\'2004-05-30\\\', \\\'2004-05-31\\\', \\\'2004-06-01\\\', \\\'2004-06-02\\\', \\\'2004-06-03\\\'\' ]; $VAR2 = [ \'18, 10, 2, 10, 10, 8, 5\' ]; $VAR3 = [ \'36, 20, 7, 19, 20, 15, 7\' ]; $VAR4 = [ \'15, 7, 2, 4, 6, 7, 4\' ];
--------------------------------------------------------------------------------
$VAR1 = [ \'2004-05-28\', \'2004-05-29\', \'2004-05-30\', \'2004-05-31\', \'2004-06-01\', \'2004-06-02\', \'2004-06-03\' ]; $VAR2 = [ 18, 10, 2, 10, 10, 8, 5 ]; $VAR3 = [ 36, 20, 7, 19, 20, 14, 7 ]; $VAR4 = [ 15, 7, 2, 4, 6, 8, 3 ];

2-й вариант рабочий, но там данные ставятся статически. Как удалить динамически подставляемые спец. символы?

заранее благодарю
С уважением Сергей

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #3 : 03 Июня 2004, 13:18:44 »
что ты имееш ввиду под
Цитировать
Kwazar:
динамически подставляемые спец. символы

?
The documentations is your friend

Оффлайн synthez

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 104
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #4 : 03 Июня 2004, 13:18:59 »
если так попробовать @data=([\\@data1],[\\@data2],[\\@data3],[\\@data4])
Software  like sex - it\'s better when it\'s free

Оффлайн synthez

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 104
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #5 : 03 Июня 2004, 13:20:19 »
а всё уже не успел
Software  like sex - it\'s better when it\'s free

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #6 : 03 Июня 2004, 13:24:55 »
synthez
Вот что получается на выходе:
$VAR1 = [ [ \'\\\'2004-05-28\\\', \\\'2004-05-29\\\', \\\'2004-05-30\\\', \\\'2004-05-31\\\', \\\'2004-06-01\\\', \\\'2004-06-02\\\', \\\'2004-06-03\\\'\' ] ]; $VAR2 = [ [ \'18, 10, 2, 10, 10, 8, 5\' ] ]; $VAR3 = [ [ \'36, 20, 7, 19, 20, 15, 8\' ] ]; $VAR4 = [ [ \'15, 7, 2, 4, 6, 7, 3\' ] ];


NeoNox, я имел ввиду как убрать лишние одинарные ковычки и обратные косые черты?
С уважением Сергей

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #7 : 03 Июня 2004, 13:25:48 »
synthez
[q]а всё уже не успел[/q]
?
С уважением Сергей

Оффлайн synthez

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 104
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #8 : 03 Июня 2004, 13:30:46 »
Kwazar
не обращай внимания...
« Последнее редактирование: 03 Июня 2004, 13:48:16 от synthez »
Software  like sex - it\'s better when it\'s free

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #9 : 03 Июня 2004, 13:48:11 »
@data = (\\@data1,\\@data2,\\@data3,\\@data4);
Так запись тоже не понимается...
С уважением Сергей

Оффлайн synthez

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 104
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #10 : 03 Июня 2004, 13:51:33 »
Kwazar
что именно нужно, как должно выглядить в идеале?
Software  like sex - it\'s better when it\'s free

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #11 : 03 Июня 2004, 14:26:12 »
Kwazar ты запутался в двух соснах.
@m1 = ([0,1,2,3],[4,5,6])
@m2 = ([7,8,9])
@m = ([@m1],[@m2])
print $m[1][0][1]
print $m[0][0][1]

что будет на выходе?
Почему так происходит тебе понятно?
The documentations is your friend

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #12 : 03 Июня 2004, 15:23:32 »
Для простоты:
@data1 = "\'2004-05-28\', \'2004-05-29\', \'2004-05-30\', \'2004-05-31\', \'2004-06-01\', \'2004-06-02\', \'2004-06-03\'";
@data2="18, 10, 2, 10, 10, 8, 5";
@data3="36, 20, 7, 19, 20, 14, 7";
@data4="15, 7, 2, 4, 6, 8, 3";

Задача. Из этих массивов надо сделать массив массивов @data :)

Заранее благодарен.
С уважением Сергей

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Создание массива массивов
« Ответ #13 : 03 Июня 2004, 15:24:31 »
Цитировать
Kwazar:
Куда капать?

внимательно прочитать что я написал. осознать. понять что данные уже в массиве. как к ним получить доступ я уже написал.
The documentations is your friend

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Создание массива массивов
« Ответ #14 : 03 Июня 2004, 15:29:03 »
NeoNox
Цитировать
NeoNox:
внимательно прочитать что я написал. осознать. понять что данные уже в массиве. как к ним получить доступ я уже написал.

Отдельные элементы мне не нужны.
Этот массив массивов @data нужен для построения графика по принципу:

my $mygraph = GD::Graph::bars->new(500, 300);
$mygraph->set(
    x_label     => \'ox\',
    y_label     => \'oy\',
    title       => \'title\',

    bar_width   => 3,
    # Sepearte the bars with 4 pixels (не ручаюсь за точность, оставил без перевода. А.Ч.)
    bar_spacing => 4,
    # Показывать сетку
    long_ticks  => 1,
    # Показывать значения над столбиками

    show_values => 1,
) or warn $mygraph->error;

$mygraph->set_legend_font(GD::gdMediumBoldFont);
$mygraph->set_legend(\'Exam 1\', \'Exam 2\', \'Exam 3\');

my $myimage = $mygraph->plot(\\@data) or die $mygraph->error;


print "Content-type: image/png\\n\\n";
print $myimage->png;

Использую: GD::Graph::lines;
С уважением Сергей

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28