| Deutsch English Français Italiano |
|
<65a56892$0$3013$426a74cc@news.free.fr> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp4-2.free.fr!not-for-mail
Newsgroups: fr.comp.lang.perl
X-Mozilla-News-Host: news://news.free.fr:119
From: kurtz le pirate <kurtzlepirate@free.fr>
Subject: array of array
Organization: Compagnie de la Banquise
Date: Mon, 15 Jan 2024 18:17:06 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:78.0)
Gecko/20100101 Thunderbird/78.14.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: fr
Content-Transfer-Encoding: 8bit
Lines: 87
Message-ID: <65a56892$0$3013$426a74cc@news.free.fr>
NNTP-Posting-Date: 15 Jan 2024 18:17:06 CET
NNTP-Posting-Host: 88.123.184.107
X-Trace: 1705339026 news-1.free.fr 3013 88.123.184.107:10306
X-Complaints-To: abuse@proxad.net
Bytes: 2591
Bonjour,
Je ne sais pas s'il y a du monde qui vient encore ici, mais je tente ma
chance ;
Donc :
J'ai des données de ce genre :
f 198/216 199/218 2/3 1/1
Le but est de découper chaque couple a/b dans un tableau '@faces'
Le fichier a 'x' lignes comme ça.
J'ai donc fait pour chaque ligne du fichier :
# je decoupe sur le séparateur espace et je mets dans '@line'
@line = split ' ';
# j'enlève le 'f' du début
shift(@line);
# je découpe chaque element de @line en un tableau de deux
# valeurs sur le séparateur '/'
@line = map { [ split /\//, $_ ] } @line;
# je pousse ce tableau dans mon tableau global
push @faces, [@line];
Jusque la, cela semble correct.
L'exemple donné a 4 'couples' mais il peut y en avoir entre 3 et n.
Mais, quand je veux accéder au valeurs :
(les deux boucles c'est juste pour le debug)
for my $i ( 0 .. $#faces ) {
for my $j ( 0 .. $#{$faces[$i]} ) {
print "faces[$i,$j] = $faces[$i][$j]\n";
}
}
J'obtiens :
faces[0,0] = ARRAY(0x7f8a2987f288)
faces[0,1] = ARRAY(0x7f8a2987ea48)
faces[0,2] = ARRAY(0x7f8a29960b08)
faces[0,3] = ARRAY(0x7f8a2982d9c8)
Alors qu'avec le dumper :
$VAR1 = [
[
'198',
'216'
],
[
'199',
'218'
],
[
'2',
'3'
],
[
'1',
'1'
]
];
Si quelqu'un peut me dire où je me trompe ...
Merci d'avance.
ps : pour ceux qui ont reconnu, oui, c'est pour convertir des fichiers
obj en autre chose.
--
kurtz le pirate
compagnie de la banquise