Alias $add : nous avons $remove , $replace .. alors pourquoi pas $add

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 584 fois - Téléchargée 27 fois

Contenu du snippet

si vous avez besoin d'ajouter une lettre ou une combinaison , peu importe :
$add(abcdefghi,wx,2,y,3) = awxbycdefghi

Source / Exemple :


alias add {
  if !$1 || !$2 || !$3 { halt }
  if 2 // $0 { halt }
  if $0 > 3 {
    var %z 5
    %result = $left($1,$calc($3 - 1)) $+ $2
    while $ [ $+ [ %z ] ] { 
      %g = %z - 2 
      %y = $ [ $+ [ %z ] ] - $ [ $+ [ %g ] ]
      %r = %r $+ $mid($1,$ [ $+ [ %g ] ],%y)  $+ $ [ $+ [ $calc(%z - 1) ] ]
      inc %z 2
    }
    %r = %r $+ $mid($1,$ [ $+ [ $0 ] ])
  }
  else { %r = $+($left($1,$calc($3 - 1)),$2,$right($1,$+(-,$calc($3 - 1)))) }
  return %r
}

Conclusion :


1er bug : Si vous mettez $add(abcde,xyx,2,gh,1) ceci vous retourneras : axyxbcdghabcde
Seulement Jai une question a propo de sa ; j'devraige le halt tout simplement ou effectuer l'opération quand meme ?

OKay là , Bienvenue a toute amélioration , question ... commentaire : j'aimerait mieux en privé , svp
Aussi j'aimerait de l'optimisation le plus possible ...si vous en voyez.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
266
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
7 juillet 2009

niveau expert ca ? :/
je serais admin je collerais un warning a tlm qui poste des codes de débutant en catégorie expert...

je ne parlais meme pas des erreurs d'optimisation et des syntaxes BANCALES de tes if , c'est deja un miracle que ca ne error pas avec un ambiguous format...
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
4
MaX_62 said :
"if !$1 || !$2 || !$3 { halt }
devient
if (!$3) { halt }"

C'est faux.

Alias pouet {
if (!$3) { echo -a > La condition !dollar3 est vraie }
if (!$1 || !$2 || !$3) { echo -a > La condititon !dollar1 ou !dollar2 ou !dollar3 est vraie }
}

et teste
/pouet 0 blabla2 blabla3

Ta condition ne voit rien, alors que la sienne détecte le !$1 ;)

Bref, cela dit, dans son cas je pense que c pas un raccourci approprié de toute facon, c'eût été plus judicieux de tester l'égalité à $null (cette condition empêche d'insérer la chaine "0")
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Je prefere utiliser les token personnelement
Et comme tu la dis ya encore des defaut
Est ce que cela marche sur les variable ?
Messages postés
883
Date d'inscription
vendredi 22 octobre 2004
Statut
Membre
Dernière intervention
29 juin 2007

if !$1 || !$2 || !$3 { halt }
devient
if (!$3) { halt }

Sinon le reste a été dit ! Niveau expert, gloups :|
Messages postés
840
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
25 février 2009

salut
alors deja tu devrai declarer tes variables par var (variables locales) au debut:
var %z 5 , %r , %g , %y , %result
de maniere a ce qu'elles soient effacées a la fin de ton code
(chez moi qd je test plusieurs fois de suite , comme la variable n'est pas effacé, j'ai droit a l'ancien resultat + le nouveau)

de plus j'ai des bugs
ex $add(abdefg,c,3,h,4) me retourne dhefg (wtf ?)
ya plein d'exemples ou ça marche pas (par contre qd on ne met qu'un seul param ça marche bien)

Enfin bref c'est un bon debut, mais tu doit corriger ts ces problemes
(euh sinon niveau expert ç'est pas un peu haut ?)
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.