Deutsch English Français Italiano |
<ttvcn8$efu$1@shakotay.alphanet.ch> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail From: Marc SCHAEFER <schaefer@alphanet.ch> Newsgroups: fr.comp.lang.perl Subject: Re: Remplacement avec increment Date: Sat, 4 Mar 2023 12:14:32 -0000 (UTC) Organization: Posted through news.alphanet.ch Message-ID: <ttvcn8$efu$1@shakotay.alphanet.ch> References: <640316a8$0$24798$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Sat, 4 Mar 2023 12:14:32 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-account="schaefer"; logging-data="14846"; mail-complaints-to="usenet@alphanet.ch"; posting-host="634ce6c9682d817d72f6177875e2bb4f.nnrp.alphanet.ch" User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-23-amd64 (x86_64)) Cancel-Lock: sha256:AV/x2Gw1kYh3SyPPTXLnQfte9iSfiOdNAeVmXAN4D5c= sha256:fobItxuZTaXDazimrxnRdXkQ3bnFd3FtuXF+HWeafiU= Bytes: 2457 Lines: 56 kurtz le pirate <kurtzlepirate@free.fr> wrote: > #declare f[0] = "16,10,53,36,29"; Je n'ai jamais vu de code Perl avec cette syntaxe et une recherche rapide ne me montre pas qu'elle existe, mais je me trompe peut-�tre? C'est quoi la diff�rence, en pratique entre: my @array = ("16,10,53,36,29", "16,41,45,34,1"); et votre syntaxe? Aussi, j'aurais tendance plut�t � faire une r�f�rence � un tableau dans un tableau, plut�t qu'un tableau de cha�nes: my @array = ([16, 10, 53, 36, 29], [16, 41, 45, 34, 1]); > my $n = 0; > $data =~s/\{/#declare faces [$n++]/eg; Donc, j'�crirais quelque chose du genre: my @array; # mettre ce qui est entre { et } comme cha�ne dans @array $data =~ s/\{[^\}]+\}/push(@array, $_}/eg; pour faire le tableau de cha�nes, on acc�dera alors � $array[0], $array[1], etc. Ou: sub whatever { my $s = $_; my @values = split /,/, $s; # r�f aux valeurs push(@array, \@values); } $data =~ s/\{[^\}]+\}/whatever($_)/eg; Ensuite, on acc�de aux valeurs avec: # premi�re valeur du premier groupe $array[0]->[0] # ou toutes les valeurs, en tant que tableau et pas # r�f�rence au tableau @{$array[0]} -- Attention: limitez le nombre de lignes de citation � l'essentiel, sinon je ne verrai pas votre r�ponse. Et si vous �crivez souvent des bobards, je ne vous lirai plus et je recommanderai (NoCeM) de ne plus vous lire.