Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2801 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] switch() vs hash de fonctions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] switch() vs hash de fonctions

n°1070094
darkpengui​n
Posté le 03-05-2005 à 10:54:44  profilanswer
 

je travaille actuellement sur un petit programme en Perl et j'ai besoin d'un opérateur de type switch() ... case...
 
en cherchant un peu sur le net, j'ai trouvé qu'il existait dans Perl, mais que c'était surtout un "bricolage" de la part des développeurs et j'aurais donc aimé avoir vos avis sur la question  :jap:
 
D'autre part j'ai cherché des alternatives, et j'en ai trouvé 2:
 

  • une suite de if() elseif() ... c'est probablement le plus simple pour le remplacer, mais je trouve ça "moche"


  • un hash de fonctions... alors, cette solution a attiré mon attention, j'ai du activer mon cerveau pendant qques minutes pour comprendre ce que c'était et comment l'utiliser [:tsouille] en gros, c'est un hash de références à des fonctions. ça a le mérite d'être original et les commentaires que j'ai pu lire parlaient même d'une solution avantageuse niveau performances


 
bon, je n'ai pas spécialement besoin de perfs, mais je trouvais ça sympa et original (tant qu'à programmer, autant s'amuser)... et je suis donc également à la recherche de commentaires sur le sujet: qu'en pensez-vous ? l'avez vous déjà utilisé ? avez vous d'autres solutions ? ...
 
merci


Message édité par darkpenguin le 03-05-2005 à 10:58:34

---------------
Counting all the assh*les in the room, well I'm definitely not alone...
mood
Publicité
Posté le 03-05-2005 à 10:54:44  profilanswer
 

n°1070125
Elmoricq
Modérateur
Posté le 03-05-2005 à 11:05:04  profilanswer
 

Personnellement, j'utilise un simple bloc, type :
 

Code :
  1. SWITCH: {
  2.      (/exemple_1/) and (test2 = machin) =~ s/.*?(\w+?)$/$1/ and last SWITCH;
  3.      (/etc etc./) and (test_n = truc) =~ s/.*?(\w+?)$/$1/ and last SWITCH;
  4. }


n°1071721
burgergold
5$? va chez l'diable!
Posté le 04-05-2005 à 14:17:59  profilanswer
 

moi j'utilise les if() elsif()

n°1075917
pospos
Posté le 09-05-2005 à 09:45:36  profilanswer
 

le hash de dispatch c'est une solution elegante mais pas forcement meilleur en terme de perfs.
 
en gros si tu a beaucoup de tests ca peut etrze avantageux plutot que de les tester lineairement chacun, mais il ne faut pas oublier que tu a un appel de fonction tout de meme. Donc faut tester si ca permet de gagner en perfs et/ou en lisibilité


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] switch() vs hash de fonctions

 

Sujets relatifs
Probleme client en perlSort de la page avec switch
[Perl] debeuuugage de la mort qui tue!!!![Perl] Optimisation?
[PERL] lire fichier en paragraphecertificats SSL + [ Coldfusion ou Perl ]
[Perl] Question toute bête?[ Perl ] conversion HEXA => ASCII
Perl + htmlGérer u n switch HP
Plus de sujets relatifs à : [Perl] switch() vs hash de fonctions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR