Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lire un tableau

3 réponses
Avatar
kurtz le pirate
bonjour,

j'essaye d'exploiter le module 'Math::Geometry::Voronoi'
<http://tinyurl.com/ad9of6z>


une des méthodes retourne un tableau définit comme ça :
@polys = ( $point_index, [$lat1, $lon1], [$lat2, $lon2], ... );

un dump du tableau donne bien cette structure :
$VAR1 = [
0,
[
'1.5',
'0.5'
],
[
'-0.5',
'2.5'
],
[
'-6.5',
'5.5'
]
];
$VAR2 = [
1,
[
'1.5',
'0.5'
],
...



je ne sais pas comment lire les éléments un par un.

for (@polys) {
$index = ?
for (???) {
[$x,$y] = [$lat1, $lon1];
}
}


c'est bête, mais la je sèche lamentablement :(
merci de votre aide.



--
klp

3 réponses

Avatar
ST
On 2013-05-19, kurtz le pirate wrote:

je ne sais pas comment lire les éléments un par un.




use Data::Dumper;

my $v = [ 0, [ '1.5', '0.5' ], [ '-0.5', '2.5' ], [ '-6.5', '5.5' ] ];

print Dumper $v;

print $v -> [0] ."n";
print $v -> [1] -> [0] ."n";
print $v -> [1] -> [1] ."n";
print $v -> [2] -> [0] ."n";
Avatar
Jean-Louis Morel
Le 19/05/2013 09:56, kurtz le pirate a écrit :

j'essaye d'exploiter le module 'Math::Geometry::Voronoi'
<http://tinyurl.com/ad9of6z>


une des méthodes retourne un tableau définit comme ça :
@polys = ( $point_index, [$lat1, $lon1], [$lat2, $lon2], ... );


je ne sais pas comment lire les éléments un par un.

for (@polys) {
$index = ?
for (???) {
[$x,$y] = [$lat1, $lon1];
}
}




Essayez :

foreach (@polys) {
my $index = shift @{$_}; # on extrait l'index en tête de tableau
print $index, "n";
foreach my $vertex ( @{$_} ) { # il reste la liste des points
print "[$vertex->[0] ; $vertex->[1]] ";
}
print "nn";
}

HTH

--
JL
http://www.bribes.org/perl
Avatar
kurtz le pirate
In article <5198a940$0$2553$,
Jean-Louis Morel wrote:

Le 19/05/2013 09:56, kurtz le pirate a écrit :
>
> j'essaye d'exploiter le module 'Math::Geometry::Voronoi'
> <http://tinyurl.com/ad9of6z>
>
>
> une des méthodes retourne un tableau définit comme ça :
> @polys = ( $point_index, [$lat1, $lon1], [$lat2, $lon2], ... );
>
>
> je ne sais pas comment lire les éléments un par un.
>
> for (@polys) {
> $index = ?
> for (???) {
> [$x,$y] = [$lat1, $lon1];
> }
> }
>

Essayez :

foreach (@polys) {
my $index = shift @{$_}; # on extrait l'index en tête de tableau
print $index, "n";
foreach my $vertex ( @{$_} ) { # il reste la liste des points
print "[$vertex->[0] ; $vertex->[1]] ";
}
print "nn";
}

HTH




Super !
Je n'aurais jamais trouvé que le premier élément était 'index'
Le deuxième, le tableau des points...


Un Grand Merci


--
klp