Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 13-07-2009 14:14:50

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

extension PBNI pour utiliser des hash tables

Après les regexps, voilà les hash tables (On dit aussi dictionnaires ou tableaux associatifs)

L'implémentation est assez basique, mais y a déjà tout ce qu'il faut pour stocker des valeurs et les retrouver (c'est déjà ça).

Comme pour PbniRegex qui se basait sur PCRE, pour les hashtables je n'ai pas réinventé l'eau chaude mais j'ai wrappé libhashish.
Et comme pour PbniRegex, le code source est fourni (VS 2005), ainsi qu'une appli PB10.5.2 pour jouer avec.

La licence (que j'ai oublié de joindre dans le .zip, faut que je corrige ça) est du genre MIT : faites ce que vous voulez avec, moi je ne suis responsable de rien   (mébon, je suis quand même preneur pour des rapports de bug, des remarques, des idées... des sous ? )

C'est là : http://sebastien.kirche.free.fr/powerbuilder/

Cette extension a été commencée au même moment que l'autre, mais je ne pouvais pas la publier pour des raisons de licence qui sont résolues (il fallait désactiver une fonction de libhashish pour pouvoir la réutiliser sous licence BSD, sinon on devait utiliser la licence GPL et pour faire du code commercial non ouvert avec c'est impossible). Donc c'est utilisé et testé, et c'est en production chez les clients de mon employeur.

Enjoy !


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#2 01-05-2010 16:03:07

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: extension PBNI pour utiliser des hash tables

C'est le jour des mises à jours !

(on voit qu'il fait un temps pourri, j'ai un peu de temps pour publier mes petits projets)

En nouveauté, l'appli de test est passée en 11.5 et il y a eu une petite amélioration de uo_hash : si la table est vide of_getkeys() retourne un tableau vide au lieu de rien du tout (null). Ça évite des plantages quand on ne s'attendait pas à récupérer un null :

Enjoy!


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 13-02-2013 17:15:11

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: extension PBNI pour utiliser des hash tables

Pour ceux que ça peut intéresser, ce projet est sur GitHub, ainsi que mes autres extensions PBNI.
Une version devrait sortir bientôt corrigeant des fuites de mémoire liés à la non-libération de pbstrings...

Et aussi, à la demande générale (d'au moins 2 utilisateurs ! ), je vais ajouter une méthode of_exists() permettant de tester si une clé existe dans la table (et peut-être simplifier l'implémentation de hash en n'utilisant plus libhashish).


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#4 13-02-2013 17:52:01

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: extension PBNI pour utiliser des hash tables

seki a écrit:

en n'utilisant plus libhashish).

?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 13-02-2013 18:05:17

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: extension PBNI pour utiliser des hash tables

erasorz a écrit:

seki a écrit:

en n'utilisant plus libhashish).

?

Non, c'est une vraie lib, dispo sur Sourceforge, à l'époque je l'ai utilisée car je ne savais pas calculer de fonction de hachage, mais depuis j'ai implémenté une fonction toute simple pour pbdumper et je pense l'expérimenter avec pbnihash pour que ce soit moins lourd.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#6 13-02-2013 22:14:07

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: extension PBNI pour utiliser des hash tables

seki a écrit:

Pour ceux que ça peut intéresser, ce projet est sur GitHub, ainsi que mes autres extensions PBNI.
Une version devrait sortir bientôt corrigeant des fuites de mémoire liés à la non-libération de pbstrings...

Et aussi, à la demande générale (d'au moins 2 utilisateurs ! ), je vais ajouter une méthode of_exists() permettant de tester si une clé existe dans la table (et peut-être simplifier l'implémentation de hash en n'utilisant plus libhashish).

et t'as oublié de préciser que la lib peut serialiser/deserialiser une hash dans/un blob.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22