[Perl] multi hash
Patrick Dupre
pdupre at gmx.com
Jeu 1 Nov 03:17:03 CET 2018
OK,
Je vais regarder.
Mais, il y a quelque chose que je ne comprends pas dans ce que j'ai ecris.
Pourqoui $nb n'ai pas passe dans l'appel ?
#!/usr/bin/perl
sub multi {
my ($hoh, $nb) = @_ ;
print "nb: $$nb\n" ;
if (ref ($hoh) eq "HASH") {
$$nb++ ;
foreach my $i (keys %{$hoh}) {
print "i: $i, $$nb\n" ;
multi (%{$hoh {$i}}, $nb) ;
}
print "HAH\n" ;
}
else {
return ;
}
}
my %hash0 ;
my %hash1 ;
$hash1 {A} = 1 ;
$hash1 {B} = 2 ;
my %hash2 ;
$hash2 {A} {a} = 1 ;
$hash2 {A} {b} = 2 ;
$hash2 {B} {a} = 3 ;
$hash2 {B} {b} = 4 ;
my $nb = 0 ;
multi (\%hash0, \$nb) ;
print "0: $nb\n" ;
$nb = 0 ;
multi (\%hash1, \$nb) ;
print "1: $nb\n" ;
#my $nb = multi (\%hash2, 0) ;
#print "$nb\n" ;
===========================================================================
Patrick DUPRÉ | | email: pdupre at gmx.com
Laboratoire de Physico-Chimie de l'Atmosphère | |
Université du Littoral-Côte d'Opale | |
Tel. (33)-(0)3 28 23 76 12 | | Fax: 03 28 65 82 44
189A, avenue Maurice Schumann | | 59140 Dunkerque, France
===========================================================================
> Sent: Thursday, November 01, 2018 at 3:10 AM
> From: "Pau Amma" <pauamma at gundo.com>
> To: perl <perl at mongueurs.net>
> Subject: Re: [Perl] multi hash
>
> > my %hash1 ;
> > $hash {A} = 1 ;
> > $hash {B} = 2 ;
> >
> > my %hash2 ;
> >
> > $hash {A} {b} = 2 ;
> > $hash {B} {a} = 3 ;
> > $hash {B} {b} = 4 ;
> >
> > my $nb = multi (\%hash1, 0) ;
> > print "$nb\n" ;
> >
> > my $nb = multi (\%hash2, 0) ;
> > print "$nb\n" ;
> >
> > Il faudrait renvoyer 1 pour le 1ier cas et 2 pour le second
>
> OK, ça ressemble à la profondeur (aussi appelée hauteur). Y a-t-il une
> raison de ne pas utiliser (par exemple) Tree::Simple et sa méthode
> getHeight? (cf https://metacpan.org/pod/Tree::Simple#Accessor-Methods)
>
> > > J'ai construis des multi hassh (HoHoHoH...)
> > > dont je voudrais connaitre le nombre de hash.
> >
> > La question me parait un peu vague: s'agit il du nombre de feuilles de
> > l'arbre (car c'en est un, en fin de compte)? du nombre total de noeuds?
> > de la profondeur de l'arbre?
>
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
> Attention, les archives sont publiques
>
Plus d'informations sur la liste de diffusion Perl