[Rio-pm] (sem assunto)
Aureliano Guedes
guedes_1000 em hotmail.com
Sex Mar 24 10:18:03 PDT 2017
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)
my $b;
@$b = qw(a b c d e); #isso é um array forçado
mas a dúvida é, o que fica em $b?
Pelo que me parece ele cria automaticamente uma referência pra um array anonimo que dereferenciado por @$b
O que me leva a crer que
my @a = qw(a b c d e);
my $b = \@a;
é 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<mailto: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<mailto:Rio-pm em pm.org>
http://mail.pm.org/mailman/listinfo/rio-pm
--
André Garcia Carneiro
Software Engineer
(11)982907780
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20170324/5b63269d/attachment.html>
Mais detalhes sobre a lista de discussão Rio-pm