#N canvas 195 22 929 782 12;
#X floatatom 41 404 0 0 0 0 - - -;
#X floatatom 41 351 0 0 0 0 - - -;
#X text 217 376 =;
#X obj 257 403 *;
#X floatatom 257 433 5 0 0 0 - - -;
#X floatatom 234 334 5 0 0 0 - - -;
#X obj 288 317 loadbang;
#X msg 288 346 2;
#X obj 41 -3 cnv 15 400 40 empty empty Localidade-Arrays-Expr: 20 12
0 24 -262144 -66577 0;
#X text 25 60 Agora temos um certo conflito em como o [expr] e os arrays
lidam com a sintaxe da localidade. O [expr] só entende depois de um
símbolo \, mas \, na prática \, os arrays só entendem antes do símbolo.
Isso já foi mencionado anteriormente na pasta das tabelas.;
#X text 21 151 O jeito mais fácil é usar o objeto [table] \, que aceita
o "\$0" onde for.;
#X obj 288 372 tabread array_\$0;
#X text 37 685 Muito dessa gambiarra já foi ensinado no patch/exercício
de renomear tabelas.;
#N canvas 0 22 450 300 (subpatch) 0;
#X array A_1005 100 float 5;
#A 0 -0.38571 -0.342854 -0.321425 -0.299997 -0.271426 -0.242855 -0.214283
-0.185712 -0.149998 -0.114285 -0.0857134 -0.0571423 -0.0285711 0.00714278
0.0428567 0.066666 0.0904752 0.114285 0.147617 0.18095 0.214283 0.249997
0.285711 0.314282 0.342854 0.38571 0.471424 0.471424 0.557137 0.557137
0.557137 0.557137 0.542851 0.528566 0.499995 0.471424 0.442852 -0.299997
-0.342854 -0.371425 -0.38571 -0.399996 -0.428567 -0.43571 -0.442852
-0.449995 -0.457138 -0.4619 -0.466662 -0.471424 -0.471424 -0.471424
-0.471424 -0.471424 -0.471424 -0.471424 -0.471424 -0.464281 -0.457138
-0.428567 -0.407139 -0.38571 -0.361901 -0.338092 -0.314282 -0.290473
-0.266664 -0.242855 -0.199998 -0.157141 -0.114285 -0.0809515 -0.0476185
-0.0142856 0.0285711 0.0714278 0.12857 0.171427 0.214283 0.25714 0.25714
0.25714 0.499995 0.457138 0.428567 0.399996 0.357139 0.328568 0.299997
0.271426 0.242855 0.214283 0.185712 0.157141 0.12857 0.0714278 0.0142856
-0.0285711 -0.0857134 -0.142856;
#X coords 0 1 99 -1 200 140 1;
#X restore 576 309 graph;
#X obj 511 29 f \$0;
#X floatatom 511 59 5 0 0 0 - - -;
#X text 553 28 primeiro descobrimos o número da janela;
#X text 488 108 Aí criamos uma tabela com um nome no formato tipo A_\$0
\, mas colocamos o número da janela no nome \, em vez de \$0 \, senão
ele apenas vira "0".;
#X obj 511 -1 loadbang;
#X obj 41 376 expr $f1 * array_\$0[2];
#N canvas 337 204 670 274 inicializar-nome-da-tabela 0;
#X msg 37 163 rename \$1;
#X obj 37 212 send;
#X obj 37 26 loadbang;
#X msg 59 124 set symbol \$1;
#X obj 37 94 symbol A_\$0;
#X obj 37 60 trigger bang bang;
#X msg 120 161 symbol A_1005;
#X text 229 156 Esse é o nome da tabela na última vez em que o patch
foi aberto;
#X text 160 86 O objeto [symbol] envia o nome que queremos para essa
inicialização do patch.;
#X connect 0 0 1 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 4 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 6 0;
#X connect 6 0 1 1;
#X restore 576 520 pd inicializar-nome-da-tabela;
#X text 538 484 veja neste subpatch como isso foi feito;
#X obj 53 243 table array_\$0 5;
#X obj 210 266 send array_\$0;
#X msg 210 241 0 0.1 0.2 0.3 0.4 0.5;
#X obj 210 216 loadbang;
#X text 34 489 Uma primeira questão é que o objeto [table] não armazena
os valores na tabela que foram salvos da última vez. Ele é útil quando
escrevemos na tabela quando o patch for inicializado. Nesse caso \,
usamos um loadbang e uma lista de valores. Outra coisa é que não enxergamos
a tabela \, ela fica escondidinha.;
#X text 37 593 A princípio \, é mais simples esquecer um pouco isso
e apenas adaptar a sua fórmula com um [tabread]. Mas se você quer muito
fazer isso mesmo \, e ter um array visível \, é preciso uma certa ginástica
gambiarrística... aqui vai a solução mais pela curiosidade e didática
da coisa...;
#X text 494 180 A questão é que esse número sempre muda quando o patch
é inicializado...;
#X text 492 223 Por isso \, criamos uma rotina que sempre renomeia
a tabela de acordo com o número de incialização. Isso é apenas uma
adaptação daquele exemplo de renomear tabelas.;
#X floatatom 593 626 0 0 0 0 - - -;
#X floatatom 593 573 0 0 0 0 - - -;
#X obj 593 598 expr $f1 * A_\$0[$f2];
#X floatatom 730 573 5 0 100 0 - - -;
#X text 533 682 Pronto \, agora você pode se divertir à vontade.;
#X connect 1 0 19 0;
#X connect 3 0 4 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 7 0 11 0;
#X connect 11 0 3 1;
#X connect 14 0 15 0;
#X connect 18 0 14 0;
#X connect 19 0 0 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 31 0 32 0;
#X connect 32 0 30 0;
#X connect 33 0 32 1;
