Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
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 !
Hors ligne
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!
Hors ligne
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).
Hors ligne
seki a écrit:
en n'utilisant plus libhashish).
?
Hors ligne
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.
Hors ligne
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.
Hors ligne
Pages: 1