Forum Webscript.Ru
Программирование => Perl => Тема начата: Kwazar от 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 содержат все те же самые данные.
Как корректно задать массив массивов, вставляя в него не статические данные?
заранее благодарю.
-
use Data::Dumper;
print Dumper(@data);
-
Вот что я вижу.
$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-й вариант рабочий, но там данные ставятся статически. Как удалить динамически подставляемые спец. символы?
заранее благодарю
-
что ты имееш ввиду под
Kwazar:
динамически подставляемые спец. символы
?
-
если так попробовать @data=([\\@data1],[\\@data2],[\\@data3],[\\@data4])
-
а всё уже не успел
-
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, я имел ввиду как убрать лишние одинарные ковычки и обратные косые черты?
-
synthez
[q]а всё уже не успел[/q]
?
-
Kwazar
не обращай внимания...
-
@data = (\\@data1,\\@data2,\\@data3,\\@data4);
Так запись тоже не понимается...
-
Kwazar
что именно нужно, как должно выглядить в идеале?
-
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]
что будет на выходе?
Почему так происходит тебе понятно?
-
Для простоты:
@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 :)
Заранее благодарен.
-
Kwazar:
Куда капать?
внимательно прочитать что я написал. осознать. понять что данные уже в массиве. как к ним получить доступ я уже написал.
-
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;
-
Kwazar
сколько элементов у тебя в массиве?
@data1 = "\'2004-05-28\', \'2004-05-29\', \'2004-05-30\', \'2004-05-31\', \'2004-06-01\', \'2004-06-02\', \'2004-06-03\'";
-
Да.....
Всем спасибо, пошел в клонуны :)