Error snippet

cs_neo66 Messages postés 125 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 20 mai 2006 - 4 juil. 2005 à 20:17
cs_neo66 Messages postés 125 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 20 mai 2006 - 4 juil. 2005 à 20:46
Bonjours,
je me suis amusé a faire ce petit snippet qui n'est pas vraiment tres utile mais bon, je savais pas quoi faire... mais (oui oui, ya toujours un mais :p) ya un probleme, je m'explique:
mon snippet est de la forme:
$strtok(mot,lettre a repeté,repetition minimal, repetition maximal)

alias strtok {
if (!$4) return $strtok(mot,token,repetition mini,repetition maxi)
var %a $1, %b $2, %c = $3, %d = $4
if (%a !isalpha) return %a doit etre un mot !
if ($len(%b) > 1) return %b doit etre une lettre
if (%b !isin %a) return %b n'est pas dans %a
if (- isin %c) || (- isin %d) return %c ou %d doivent etre des nombres positif
if (%d < %c) return %d doit etre plus grand que %c
return $replace(%a,%b,$str(%b,$rand(%c,%d)))
}

donc si je fais: //say $strtok(salut,a,5,50) sa me retourne: salut ecrit avec un nombre de "a" aleatoire compri entre 5 et 50 !
mais si je fais: //say $strtok(coucou,u,5,50) sa me retourne: coucou ecrit avec un nombre de "u" aleatoire comprit entre 5 et 50, mais les deux "u" sont remplacer.

Mais j'ai voulu rajouter un argument: N, pour choisir, si plusieur lettres sont identiques, laquel remplacer... voici ce que le code donne (mais il marche pas :s)
alias strtok {
if (!$5) return $strtok(mot,token,repetition mini,repetition maxi,N)
var %a $1, %b $2, %c = $3, %d = $4, %e = $5
if (%a !isalpha) return %a doit etre un mot !
if ($len(%b) > 1) return %b doit etre une lettre
if (%b !isin %a) return %b n'est pas dans %a
if (- isin %c) || (- isin %d) return %c ou %d doivent etre des nombres positif
if (%d < %c) return %d doit etre plus grand que %c
return $reptok(%a,%b,$str(%b,$rand(%c,%d)),%e,32)
}
et quand je fais: //say $strtok(coucou,c,5,20,1) il me retourne toujours coucou
quand je fais: //say $strtok(kikoo,i,5,20,1) il me retourne ytoujours kikoo...


je vois pas pourquoi, aidez moi :)

2 réponses

cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
4 juil. 2005 à 20:38
ton reptok est pas bon, vu que les char doivent être séparés par un \032



$reptok(a.b.c.d,b,e,1,46) retourne a.e.c.d



pour que ça marche il faudrait que ton texte soit de la forme:

"c o u c o u" je pense.
-1337 connexion-
0
cs_neo66 Messages postés 125 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 20 mai 2006
4 juil. 2005 à 20:46
humm :'(
je vais devoir me casser la tete encore pour faire marcher ce snippet :'((((
Bon merci tofu
0
Rejoignez-nous