cs_Melnofil
Messages postés71Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 1 février 2008 16 déc. 2005 à 20:04
"tu étais beaucoup trop aggressif" <== Désolé pinailler est naturel chez moi !
"Merci d'avoir si bien etudié ma source" <== de rien ca passe le temps quand on s'ennuis ;-p
c0wz
Messages postés15Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention13 janvier 2004 8 déc. 2005 à 14:16
salut tlm :) dsl pr le titre de merde et petite precision cette source est vieille Date création : 30/10/2003 plus la peine de la commenté g arreté le mirc. Merci d'avoir si bien etudié ma source melnofil ^^ @+
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 7 sept. 2005 à 07:12
Aloa,
Je n'ai jamais dit que cette fonction était exempte de bug, j'ai simplement dit que tu étais beaucoup trop aggressif pour pas grand chose :)
C'est totalement différent.
Je ne reviendrai pas sur les autres bugs, et je n'ai aucun arguments à t'avancer pour te convaincre de quoi que ce soit, je n'ai rien a te prouver mon coco :-)
N'ayant aucune envie d'alimenter ces discussions inutiles, je vire la surveillance de ce post et je n'y reviendrai pas.. Bonne continuation =)
cs_Melnofil
Messages postés71Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 1 février 2008 7 sept. 2005 à 03:16
Tiens puisque tu voulais absolument un bug, je t'en ai trouvé un :
//echo -a $gettok(t|e||s|t,2-3,$asc(|))
Affiche : e|s
//echo -a $g3ttok(t|e||s|t,2-3,$asc(|))
Affiche : e|
PaDa, attend 2 secondes que je prévois ce que tu va me dire :
"C'est stupide de considérer ce genre de choses, je ne vois pas pourquoi on irait utiliser un paramètre erronné pour le plaisir de voir que mirc le tronque pour le corriger, et reproduire cet oops dans son propre alias.."
Encore une fois ca dépent de ce que tu veux faire, le premier cas que j'avais cité peut facilement etre rencontré dans une situation tel que :
Dans une phrase je veux extraire certains mots, du second au Nième. Hors je sais à cause du code précédent que N est un entier supérieur ou égal à 1. D'où la question : Est-ce qu'on doit traiter le cas du 1 à part ou est-ce que ca marche direct comme on veux ? Et la immédiatement tu va voir que la réponse est carrément inversé selon si tu utilise $gettok ou $g3ttok ...
Et je pourrais donner une situation similaire pour le bug que je viens de citer. D'ailleurs il ne s'agit pas vraiment d'un bug a prioris si les tokens sont traités comme des tokens en C où la chaine vide peut être un token. Ceci réclame un 3ième test :
//echo -a $g3ttok(|t|e||s|t,1-4,$asc(|))
Affiche : 9|t|e||s|t
La réponse correcte avec des tokens C était : |t|e|
Et avec des tokens mIRC : t|e|s|t
(Je n'ose même pas imaginer d'où viens le 9 dans l'histoire)
Verdict : C'est bien un bug.
Ps : Je tiens a noter que j'ai fais mes 3 tests qui m'ont servi d'exemples du premier coup câd que je n'ai meme pas eu a chercher pour trouver ces incohérence avec la fonction standard.
cs_Melnofil
Messages postés71Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 1 février 2008 7 sept. 2005 à 02:53
"Et puis encourage moi a remonter dans tes exemples de bugs, tu n'en as donné qu'un (...)"
Je ne vois pas de quoi tu parles, aucun de mes exemples précédent ne fait part d'un bug. (ni dans ce dernier post d'ailleurs !)
Si tu veux vraiment creuser le problème, mis à part l'indentation, c'est cet exemple qui me hérise les poils :
# ;$gettok(chinois,est,maintenant,ugly,2,44) ; return "* Too many parameters: $gettok"
# ;$g3ttok(chinois,est,maintenant,ugly,2,44) ; return "est"
Parsque je me trompe peut-être, mais j'ai l'intuition que c0wz a écrit cette fonction à cause de ce "problème" à la base ; Alors que la commande suivante affiche "est" :
//var %temp chinois,est,maintenant,ugly | echo -a $gettok(%temp,2,44)
A partir du moment ou le délimiteur est la virule, on prend l'habitude de mettre "$+ $chr(44) $+" à la place et c tout. C'est comme si en C/C++ un type décidait soudainement de réécrire le language pour qu'on puisse mettre des " a l'interieur des chaines, dans le style : texte = "voiçi un "super" test".
Et si le but est de se passer de token, que dire de l'utilisation d'idenfiants tel que $0 $1 $2 $3 ... Car n'oublions que tous ces identifiants sont eux-même des tokens même si y'a pas "tok" écrit explicitement dessus (cf. fonction /tokenize). Les tokens c'est la base du script mirc.
(Edit : PaDa, si tu veux ne citer qu'un exemple oublis celui-ci, merci)
Quand je lis les noms de variable "%a %b %c %d %e %f" BRAVO la on est hyper renseigné sur leur utilité.
Et pis tiens un bout de ligne pris au hazard du délit de sale geule :
| $iif(%$$4 1,%k %$ [ $+ [ %$$4 ] ]) |
Déjà c'est quoi cette chose "%$$4" ? Je suis sûr qu'il y en a pas 10 d'entre nous qui ont déjà utilisé une varible qui a cette tête. D'ailleurs vu que je sais même pas a quoi ca peut bien faire référence j'ai testé :
//set %$$4 test
Me met dans ma liste de variables :
%$$4 test
Super ! Ca donne une idée du nombre de gens qui comprennent le code ... Et encore là je parle même pas de "%$ [ $+ [ %$$4 ] ]".
Et que dire du faite d'utiliser un $iif pour mettre carrément l'appel à la fonction dedans et utiliser un appel $null sinon ? ...... Mais pourquoi diable ne pas utiliser un "if" ? Je suis sûr que ca a un rapport avec le faite qu'il ait inopinément oublié d'indenter son code.
PaDa : Je prétend qu'avec l'expérience on peut évaluer la fiabilité/optimisation d'un code simplement sur son apparence au premier coup d'oeil (Avec allez, une erreur tous les 1000 scripteurs et encore, je suis sûr que j'en ferais moins). Si tu est persuadé(e) que c'est impossible c'est ton droit et je peux rien argumenter de +.
Ps : C'est facile de critiquer ce que je dis en disant "convaint-moi" mais sans avancer aucuns arguments pour me convaincre moi, que ce code a pleins de qualités super que je n'avais pas remarqué. (Et c'est là qu'on se rend compte de l'importance des descriptions et/ou commentaires >_> )
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 7 sept. 2005 à 00:49
Je suis pas vraiment convaincu.. l'idée était surement plus de faire un truc qui marche plutot que refaire totalement une fonction de mirc, mais je suis surement trop laxiste.
Et puis encourage moi a remonter dans tes exemples de bugs, tu n'en as donné qu'un (...). Je m'attarderai pas sur les trois autres points :)
Cya.
hisoka2501
Messages postés264Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention 7 juillet 2009 7 sept. 2005 à 00:32
je suis de ton avis pada pourtan, je me dois tout de meme de ton avis, recerer une fonction, c'est repfaire exactement la meme chose
quand on regarde de plus pres, le code est pas si complexe, juste mal optimisé et pas mis en ligne , a locasion je vais le decoder et le transposer en un code lisible :)
cs_Melnofil
Messages postés71Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 1 février 2008 7 sept. 2005 à 00:30
"Aggressif" je te l'accorde pleinement mais ce n'est pas de la méchanceté gratuite. Pour ce qui est du "pas grand chose" je t'encourage vivement à remonter dans les exemples plutôt que de prendre comme plus parlant celui qui l'est le moins (de toutes facons c'est des exemples trouvé rapidos, je suis certain qu'il y en a des tas, le post de Kolibot me laisse aucuns doutes à ce sujet). Mais puisqu'on est sur ce ("stupide" ?) exemple : Une application qui ne plante pas est une application où tous les cas particuliers/imprévus ont été correctement gérés... Il faut savoir aller jusqu'au fond des choses, un test a prioris stupide peut se révéler décisif dans certaines situations.
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 6 sept. 2005 à 00:28
Je me permets de revenir là dessus :
$gettok(t e s t e,4-3,32) == t
$g3ttok(t e s t e,4-3,32) == $null
C'est stupide de considérer ce genre de choses, je ne vois pas pourquoi on irait utiliser un paramètre erronné pour le plaisir de voir que mirc le tronque pour le corriger, et reproduire cet oops dans son propre alias..
Bref, sinon c'est pas parce que t'es sur ircfr que c'est interdit d'être un minimum courtois, je trouve ton post bien aggressif pour pas grand chose.
cs_Melnofil
Messages postés71Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 1 février 2008 6 sept. 2005 à 00:06
C'est pas parce que t'es sous mIRC que t'es obligé d'indenter comme un porc.
Je cite "Description : Tout est dans le titre (bis)"
Tu devais pas être fort en rédaction toi non ? ... Surtout que le titre ne veux rien dire ... Je parle pas du "recréation" mais du "en" ...
Au hazard :
elseif $chr($+(4,5)) isin $left($2,1) {
Pourquoi ne pas mettre 45 ?
Ta fonction n'a pas le même effet que l'originale :
$gettok(t e s t e,4-3,32) == t
$g3ttok(t e s t e,4-3,32) == $null
Si c'est voulu tu pourrais peut être le signaler ...
cs_PaDa
Messages postés1804Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 20095 19 mai 2004 à 08:16
j'viens de regarder un peu ce code , il est intéressant ... le $numtok me parait pas vraiment etre un problème dans le sens ou un simple $calc($count($1-,$chr(N)) +1) (si j'suis bien réveillé) remplit la même fonction ... (et a supposer que l'on a une vraie liste de tokens ...) ... sympa :)
gugugamno80
Messages postés3Date d'inscriptiondimanche 21 décembre 2003StatutMembreDernière intervention 4 octobre 2004 9 avril 2004 à 19:02
mais y sert a quoi ce code?? une fois mit faut faire quoi Oo
Kerrigan
Messages postés708Date d'inscriptionlundi 15 juillet 2002StatutMembreDernière intervention17 mars 2005 2 nov. 2003 à 13:48
c'est pas grave que tu ai triché la prochaine fois quand tu va refaire une fonction pour le chalenge tu y penseras
sn3z
Messages postés1Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention31 octobre 2003 31 oct. 2003 à 16:33
Joli codage, bon travail j'y aurais pas pensé ;) trés bien trouvé c0wz la vache folle . uh²
Kerrigan
Messages postés708Date d'inscriptionlundi 15 juillet 2002StatutMembreDernière intervention17 mars 2005 30 oct. 2003 à 12:07
ça ne sert a rien mais c'est du bon boulot. d'ailleur je pensais pas que ça serait aussi complexe.
Ceci dit tu triches un peu avec $numtok. moi je l'aurais refais aussi dans la fonction.......
c0wz
Messages postés15Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention13 janvier 2004 30 oct. 2003 à 11:34
16 déc. 2005 à 20:04
"Merci d'avoir si bien etudié ma source" <== de rien ca passe le temps quand on s'ennuis ;-p
8 déc. 2005 à 14:16
7 sept. 2005 à 07:12
Je n'ai jamais dit que cette fonction était exempte de bug, j'ai simplement dit que tu étais beaucoup trop aggressif pour pas grand chose :)
C'est totalement différent.
Je ne reviendrai pas sur les autres bugs, et je n'ai aucun arguments à t'avancer pour te convaincre de quoi que ce soit, je n'ai rien a te prouver mon coco :-)
N'ayant aucune envie d'alimenter ces discussions inutiles, je vire la surveillance de ce post et je n'y reviendrai pas.. Bonne continuation =)
7 sept. 2005 à 03:16
//echo -a $gettok(t|e||s|t,2-3,$asc(|))
Affiche : e|s
//echo -a $g3ttok(t|e||s|t,2-3,$asc(|))
Affiche : e|
PaDa, attend 2 secondes que je prévois ce que tu va me dire :
"C'est stupide de considérer ce genre de choses, je ne vois pas pourquoi on irait utiliser un paramètre erronné pour le plaisir de voir que mirc le tronque pour le corriger, et reproduire cet oops dans son propre alias.."
Encore une fois ca dépent de ce que tu veux faire, le premier cas que j'avais cité peut facilement etre rencontré dans une situation tel que :
Dans une phrase je veux extraire certains mots, du second au Nième. Hors je sais à cause du code précédent que N est un entier supérieur ou égal à 1. D'où la question : Est-ce qu'on doit traiter le cas du 1 à part ou est-ce que ca marche direct comme on veux ? Et la immédiatement tu va voir que la réponse est carrément inversé selon si tu utilise $gettok ou $g3ttok ...
Et je pourrais donner une situation similaire pour le bug que je viens de citer. D'ailleurs il ne s'agit pas vraiment d'un bug a prioris si les tokens sont traités comme des tokens en C où la chaine vide peut être un token. Ceci réclame un 3ième test :
//echo -a $g3ttok(|t|e||s|t,1-4,$asc(|))
Affiche : 9|t|e||s|t
La réponse correcte avec des tokens C était : |t|e|
Et avec des tokens mIRC : t|e|s|t
(Je n'ose même pas imaginer d'où viens le 9 dans l'histoire)
Verdict : C'est bien un bug.
Ps : Je tiens a noter que j'ai fais mes 3 tests qui m'ont servi d'exemples du premier coup câd que je n'ai meme pas eu a chercher pour trouver ces incohérence avec la fonction standard.
7 sept. 2005 à 02:53
Je ne vois pas de quoi tu parles, aucun de mes exemples précédent ne fait part d'un bug. (ni dans ce dernier post d'ailleurs !)
Si tu veux vraiment creuser le problème, mis à part l'indentation, c'est cet exemple qui me hérise les poils :
# ;$gettok(chinois,est,maintenant,ugly,2,44) ; return "* Too many parameters: $gettok"
# ;$g3ttok(chinois,est,maintenant,ugly,2,44) ; return "est"
Parsque je me trompe peut-être, mais j'ai l'intuition que c0wz a écrit cette fonction à cause de ce "problème" à la base ; Alors que la commande suivante affiche "est" :
//var %temp chinois,est,maintenant,ugly | echo -a $gettok(%temp,2,44)
A partir du moment ou le délimiteur est la virule, on prend l'habitude de mettre "$+ $chr(44) $+" à la place et c tout. C'est comme si en C/C++ un type décidait soudainement de réécrire le language pour qu'on puisse mettre des " a l'interieur des chaines, dans le style : texte = "voiçi un "super" test".
Et si le but est de se passer de token, que dire de l'utilisation d'idenfiants tel que $0 $1 $2 $3 ... Car n'oublions que tous ces identifiants sont eux-même des tokens même si y'a pas "tok" écrit explicitement dessus (cf. fonction /tokenize). Les tokens c'est la base du script mirc.
(Edit : PaDa, si tu veux ne citer qu'un exemple oublis celui-ci, merci)
Quand je lis les noms de variable "%a %b %c %d %e %f" BRAVO la on est hyper renseigné sur leur utilité.
Et pis tiens un bout de ligne pris au hazard du délit de sale geule :
| $iif(%$$4 1,%k %$ [ $+ [ %$$4 ] ]) |
Déjà c'est quoi cette chose "%$$4" ? Je suis sûr qu'il y en a pas 10 d'entre nous qui ont déjà utilisé une varible qui a cette tête. D'ailleurs vu que je sais même pas a quoi ca peut bien faire référence j'ai testé :
//set %$$4 test
Me met dans ma liste de variables :
%$$4 test
Super ! Ca donne une idée du nombre de gens qui comprennent le code ... Et encore là je parle même pas de "%$ [ $+ [ %$$4 ] ]".
Et que dire du faite d'utiliser un $iif pour mettre carrément l'appel à la fonction dedans et utiliser un appel $null sinon ? ...... Mais pourquoi diable ne pas utiliser un "if" ? Je suis sûr que ca a un rapport avec le faite qu'il ait inopinément oublié d'indenter son code.
PaDa : Je prétend qu'avec l'expérience on peut évaluer la fiabilité/optimisation d'un code simplement sur son apparence au premier coup d'oeil (Avec allez, une erreur tous les 1000 scripteurs et encore, je suis sûr que j'en ferais moins). Si tu est persuadé(e) que c'est impossible c'est ton droit et je peux rien argumenter de +.
Ps : C'est facile de critiquer ce que je dis en disant "convaint-moi" mais sans avancer aucuns arguments pour me convaincre moi, que ce code a pleins de qualités super que je n'avais pas remarqué. (Et c'est là qu'on se rend compte de l'importance des descriptions et/ou commentaires >_> )
7 sept. 2005 à 00:49
Et puis encourage moi a remonter dans tes exemples de bugs, tu n'en as donné qu'un (...). Je m'attarderai pas sur les trois autres points :)
Cya.
7 sept. 2005 à 00:32
quand on regarde de plus pres, le code est pas si complexe, juste mal optimisé et pas mis en ligne , a locasion je vais le decoder et le transposer en un code lisible :)
7 sept. 2005 à 00:30
6 sept. 2005 à 00:28
$gettok(t e s t e,4-3,32) == t
$g3ttok(t e s t e,4-3,32) == $null
C'est stupide de considérer ce genre de choses, je ne vois pas pourquoi on irait utiliser un paramètre erronné pour le plaisir de voir que mirc le tronque pour le corriger, et reproduire cet oops dans son propre alias..
Bref, sinon c'est pas parce que t'es sur ircfr que c'est interdit d'être un minimum courtois, je trouve ton post bien aggressif pour pas grand chose.
6 sept. 2005 à 00:06
Je cite "Description : Tout est dans le titre (bis)"
Tu devais pas être fort en rédaction toi non ? ... Surtout que le titre ne veux rien dire ... Je parle pas du "recréation" mais du "en" ...
Au hazard :
elseif $chr($+(4,5)) isin $left($2,1) {
Pourquoi ne pas mettre 45 ?
Ta fonction n'a pas le même effet que l'originale :
$gettok(t e s t e,4-3,32) == t
$g3ttok(t e s t e,4-3,32) == $null
Si c'est voulu tu pourrais peut être le signaler ...
19 mai 2004 à 08:16
9 avril 2004 à 19:02
2 nov. 2003 à 13:48
31 oct. 2003 à 16:33
30 oct. 2003 à 12:07
Ceci dit tu triches un peu avec $numtok. moi je l'aurais refais aussi dans la fonction.......
30 oct. 2003 à 11:34