![]() |
Bug TCL sur un bind raw - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4) +--- Sujet : Bug TCL sur un bind raw (/showthread.php?tid=315) |
RE: Bug TCL sur un bind raw - Merwin - 05/01/2009 djkenny a écrit : Tu dis un peu n'importe quoi la c'est dommage :-) http://xineos.free.fr/listes_tcl.html RE: Bug TCL sur un bind raw - djkenny - 05/01/2009 salut Merwin, t'a pas tout a fait tort en fait mais dans le cas présent le split est utilisé pour déboguer les " { [ ] } qui pourai etre présent dans le message (t'as jamais du scripter de socket sinon t aurais compris) si jamais un gars fait un c/c d une proc sur un chan t a ton bot qui sort une erreur genre missing close-brace et le bot déconnect... le string map sert a remplacer un [ par \[ (par exemple) pour éviter ces erreurs la RE: Bug TCL sur un bind raw - CrazyCat - 05/01/2009 heu, si Merwin n'a jamais codé un socket, je n'ai jamais fait un site web... avis personnel. RE: Bug TCL sur un bind raw - Merwin - 05/01/2009 Ce problème survient uniquement quand tu utilises [lindex], [lrange] etc sur des chaines qui ne sont pas des listes (cad qui ne sont pas split). Dans sont cas il utilise [lrange] 3 lignes plus bas, si tu lui vires le split ça va faire planter son programme. Lis mon tutorial tu comprendras mieux le pourquoi du comment. RE: Bug TCL sur un bind raw - djkenny - 05/01/2009 ben écoute c est peu etre un bug d eggdrop alors mais si t ouvre un interpréteur tcl "pur" tu verra que ça fonctionne très bien ;) j ai abandonné eggdrop depuis bien longtemps lol. c est bien mieu de coder en tcl pur ... RE: Bug TCL sur un bind raw - Merwin - 05/01/2009 Ok tu rox et j'ai tort :-) RE: Bug TCL sur un bind raw - CrazyCat - 05/01/2009 Hum, je propose d'ouvrir une section "tcl" qui ne concerne pas eggdrop, parce que sinon on ne va pas s'en sortir. tcl est interprété, donc la programmation dépend de l'interpréteur, celui qui nous concerne avant tout est Eggdrop, mais il peut être intéressant d'avoir une partie sur le tcl pur... RE: Bug TCL sur un bind raw - djkenny - 05/01/2009 ... tcl
RE: Bug TCL sur un bind raw - djkenny - 05/01/2009 ben a parement ca revien au meme :x tcl
en tous cas sur un interpreteur tclsh8.5 a voir dans un eggdrop RE: Bug TCL sur un bind raw - djkenny - 05/01/2009 tcl
édit: voila le bug que je cherchai avec split :) avec split on obtient tcl
avec ma methode tcl
je pense que ca se passe de commentaire nan? RE: Bug TCL sur un bind raw - Merwin - 06/01/2009 Oui oui t'as raison, utilises ta méthodes je t'ai dis je m'en fiche! Libres à toi de ne peux pas vouloir comprendre. Mais par contre: tcl
Evites de ma donner ce genre d'exemple... Parce que le soucis ne vient même pas de la liste mais du fait que tu fermes les " et que tu fous quelque chose derrière. C'est comme si je fais: tcl
Forcément ça marche pas. Sur ce, sujet clos, utilises ton string map si ça te chantes :-) @CrazyCat: Eggdrop intègre exactement le même interpréteur que tclsh, il y ajoute ses propres commandes, donc toutes les fonctions de bases sont identiques sous Eggdrop ou sous tclsh. RE: Bug TCL sur un bind raw - djkenny - 06/01/2009 en fait j pense pas que t es compris ce que je veux dire. bref comme j ai dit plus haut ce que tu dit est vrai! MAIS DANS CERTAINS CAS split n est pas la meilleur solution. par exemple lors d un control de socket tcl
(charfilter est la proc contenant le tring map) dans ce cas la avec split tclsh plante lorsque arg contient un " le string map corrige le problème problème qui ne devrai pas se poser avec eggdrop puisqu'il intègre arg directement dans la procedure (et encore j suis même pas sur que le " ne fasse pas planter sur un putserv) RE: Bug TCL sur un bind raw - Merwin - 06/01/2009 Oui, parceque tu utilises lindex ou lrange directement sur le $arg, donc forcément ça plante puisque gets retourne une chaine. Tu ne DOIS PAS utiliser lindex ou toute autre fonction de liste sur une chaine. Au final ta proc elle convertie la chaine en liste (enfin partiellement, par exemple, impossible de faire un élément qui contient plusieurs mots...) exactement de la meême façon que split. Ca fonctionne, mais c'est pas la bonne méthode. La fonction split convertit une chaine en liste, et toi tu fais une fonction qui fais pareil mais de manière barbare et incorrecte dans certains cas, je ne vois absolument pas l'intéret. Bref, j'en ai marre de parler dans le vent, j'ai parfaitement compris ce que tu fais avec cette proc, tu persistes à penser que c'est la meilleur méthode dans certains cas c'est faux. C'est parceque tu n'utilises pas split et les listes correctement que tu obtiens des soucis. Encore une fois je t'invite à lire mon tutorial sur les listes. Bonne continuation ! RE: Bug TCL sur un bind raw - Gro_MiNeT - 06/01/2009 Sinon, le code fonctionne trés bien pour ma part, merci pour votre aide. Gro_MiNeT RE: Bug TCL sur un bind raw - Obu - 06/01/2009 Bonjour, Merwin tu veux insinuer en gros que "djkenny" ne sait pas codé? *ricane* D'ailleurs dans ton site la, t'en a oublié des choses... lset, linsert, lsort.. ? Je te conseille d'utiliser les lib. Et ce tuto me dit quelque chose enfin bref, on va pas polémiqué la dessus. Et en me dirigeant sur la racine du site , je trouve un "Samantha truc", ça ne te rappelle pas quelque chose? par hasard "tcldrop"? Je vois juste une traduction " Anglais -> Français " avec quelque modification. Sinon , bah comme tu dis " Tu rox, on pue :) " Bonne journée, |