[Rio-pm] (sem assunto)

Fernando Oliveira fernandocorrea em gmail.com
Dom Mar 26 05:45:49 PDT 2017



Enviado do meu iPhone

> Em 24 de mar de 2017, às 14:18, Aureliano Guedes <guedes_1000 em hotmail.com> escreveu:
> 
> Eu resolvi o problema, era so eu retornar um array de resultados da recurção [caso tenha] e incluir juntar com o array da interação anterior sempre que terminar uma das recurções.
> 
> Quanto a dúvida da string, seria forçar uma string vazia (uma string que não está guardando nenhuma referência) virar um array;
> 
> my @a = qw(a b c d e);
> 
> my $b = \@a; #isso é uma string com o endereço de memoria do array (referÊncia)
> 
Não, isso não é uma string, isso é uma variável scalar com uma referencia
> 
> my $b;
> 
> @$b = qw(a b c d e); #isso é um array forçado
> 
Nao, isso é uma variável escalar com uma referencia e sendo desreferenciado. E isso funciona graças a auto-vivificação
> 
> mas a dúvida é, o que fica em $b?
> 
Como eu disse, $b é uma referencia a array
> Pelo que me parece ele cria automaticamente uma referência pra um array anonimo que dereferenciado por @$b 
> 
Autovivificação
> 
> O que me leva a crer que
> my @a = qw(a b c d e);
> 
> my $b = \@a;
> 
A única diferença é @a não ser anônimo 
> 
> é o mesmo que
> 
> my $b ;
> 
> @$b = qw(a b c d e);j
> From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail.com em pm.org> on behalf of Andre Carneiro <andregarciacarneiro em gmail.com>
> Sent: Friday, March 24, 2017 4:54:22 PM
> To: Perl Mongers Rio de Janeiro
> Subject: Re: [Rio-pm] (sem assunto)
>  
> Creio que você esteja pensando nisso errado!
> 
> Se vc tem uma String em $S, você não tem uma referência para array @A. Se você quer uma referência do array @A em $S, você pode fazer:
> 
> my $S = \@A;
> 
> Eu sugiro que você use Data::Printer ou mesmo Data::Dumper para ver o conteúdo das variáveis.
> 
> Quanto ao problema da string, não sei se entendi o que vc quer. Vou dizer como transformar uma string em array sem usar 'join'.
> 
> <code>
> use strict;
> use warnings;
> use feature qw/say/;
> use Data::Printer colored => 1;
> 
> my $s = "WHATEVER";
> my @A = split //,$s;
> 
> print p @A;
> 
> 
> 
> </code>
> 
> 
> 
> 2017-03-22 19:14 GMT-03:00 Aureliano Guedes <guedes_1000 em hotmail.com>:
>> Olá monges,
>> 
>> Estou com uma série de dúvidas relacionada a uma rotina que estou fazendo;
>> 
>> Dado um hash de arrays eu preciso construir uma hierarquia não redundante dos valores desse array.
>> 
>> Tudo esta explicado melhor em :
>> http://pastebin.com/64fJvYr6
>> 
>> Duas dúvidas surgiram meio essa questão
>> 1- Como forçar uma string virar um array sem fazer join dos valores, sendo que a string não está guardando uma referência?
>> Algo como:
>> my $s;
>> @$s = qw(a b c d e);
>> 
>> 
>> 2- Se eu tenho uma string $S que guarda uma referencia para um array @A, essa string está dentro de uma rotina e a rotina é recursiva, e precisa enviar os valores da string S para a recursão, o que deve ser enviado é a string $S ou o array @$S? 
>> sub teste{
>> 
>> my ($S) = @_;
>> 
>> teste(\@$S) # ou simplesmente $S?
>> }
>> 
>> Desde já grato.
>> 
>> Att,
>> acp
>> 
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
> 
> 
> 
> -- 
> André Garcia Carneiro
> Software Engineer
> (11)982907780
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20170326/6434aeea/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm