#N canvas 206 22 1042 837 12;
#X obj 30 -65 cnv 15 400 40 empty empty Listas: 20 12 0 24 -262144
-66577 0;
#X obj 36 211 cnv 15 198 138 empty empty empty 20 12 0 14 -204786 -66577
0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array array1 10 float 3;
#A 0 1 -0.714292 0.314282 0.699993 -0.25714 -0.628565 -0.271426 0.199998
-0.057142 0.528566;
#X coords 0 1.1 10 -1.1 200 140 1;
#X restore 35 210 graph;
#X text 18 203 1;
#X text 13 336 -1;
#X obj 295 197 tabdump array1;
#X obj 295 287 t b a;
#X msg 295 325;
#X obj 295 400 list-drip;
#X text 414 199 Dá os valores de uma tabela como uma lista;
#X text 408 293 Essa é a lista que corresponde ao "array1" \;;
#X text 376 395 Agora "pingamos" os elementos da lista e vamos acumular
isso num contador;
#X obj 296 456 +;
#X obj 338 473 f;
#X floatatom 383 534 5 0 0 0 - - -;
#X obj 295 151 bng 15 250 50 0 empty empty empty 17 7 0 10 -204786
-1 -1;
#X msg 338 445 0;
#X obj 295 173 trigger bang bang;
#X text 412 469 o [list-drip] dá um bang quando acaba de pingar a lista
\, daí resgatamos o valor da soma da lista!;
#X obj 105 584 cnv 15 198 138 empty empty empty 20 12 0 14 -204800
-66577 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array array2 10 float 3;
#A 0 0.185712 -0.571423 -0.414281 0.242855 -0.542852 0.328568 0.171427
0.542851 0.499995 -0.528566;
#X coords 0 1.1 10 -1.1 200 140 1;
#X restore 104 583 graph;
#X text 90 577 1;
#X text 80 704 -1;
#X obj 338 613 tabdump array2;
#X obj 338 650 list-accum;
#X floatatom 338 684 8 0 0 0 - - -;
#X obj 338 584 bng 15 250 50 0 empty empty empty 17 7 0 10 -204800
-1 -1;
#X obj 383 507 float;
#X text 453 646 Vamos lembrar que o [list-accum] é uma abstração que
faz parte da biblioteca "list-abs". Se você abri-lo \, vai ver que
ele não é muito diferente do modelo acima \, e que faz uso do [list-drip].
O [route] ali dentreo é só para filtrar e deixar passar os floats (cortar
os símbolos).;
#X text 450 585 Sem a brincadeira de setar a lista em uma mensagem
\, aqui o [tabdump] joga diretamente os valores do array2 como uma
lista \, e o [list-accum] calcula a soma deles.;
#X text 38 0 É importante frisar que arrays são listas \, e assim podem
ser manipulados como listas no Pd. Aqui usamos os valores de um array
como uma lista para calcular a soma de todos os elementos.;
#X text 36 80 Além disso \, esse patch aqui não faz nada demais. Só
que também retomamos exemplos que já vimos anteriormente \, como setar
listas.;
#X obj 295 237 prepend set;
#X msg 254 154 set;
#X obj 254 126 loadbang;
#X text 421 226 para enxergarmos a lista em uma mensagem \, inserimos
o comando "set". Setamos a mensagem com o [t b a] e a passamos adiante.
;
#X obj 554 -7 tabdump array1;
#X msg 554 55 add2 \$1;
#X obj 554 23 list-drip;
#X obj 554 -30 bng 15 250 50 0 empty empty empty 17 7 0 10 -262130
-1 -1;
#X msg 554 106;
#X text 576 82 Também seria possível com o [list-drip] e o comando
"add2";
#X msg 480 58 set;
#X obj 480 -31 loadbang;
#X connect 5 0 32 0;
#X connect 6 0 7 0;
#X connect 6 1 7 0;
#X connect 7 0 8 0;
#X connect 8 0 12 0;
#X connect 8 1 27 0;
#X connect 12 0 13 0;
#X connect 13 0 12 1;
#X connect 13 0 27 1;
#X connect 15 0 17 0;
#X connect 16 0 13 0;
#X connect 17 0 5 0;
#X connect 17 1 16 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 26 0 23 0;
#X connect 27 0 14 0;
#X connect 32 0 6 0;
#X connect 33 0 7 0;
#X connect 34 0 33 0;
#X connect 36 0 38 0;
#X connect 37 0 40 0;
#X connect 38 0 37 0;
#X connect 38 1 40 0;
#X connect 39 0 36 0;
#X connect 42 0 40 0;
#X connect 43 0 42 0;
