Il peut être utile de créer des aliases prenant des paramètres, de la même manière que la plupart des langages permettent de définir des fonctions avec passage de paramètres.

Sous mirc, on définit un alias à seulement par son nom, comme il a été montré à ma page précédente, sans préciser les paramètres à passer.

Heureusement, il existe un moyen de récupérer les paramètres joins à l'appel de l'alias: ce sont les fonctions spéciales $1, $2 ... $n.

Reprenons l'exemple de la fonction /op:
/op /mode # +ooo $$1 $2 $3
N.B. Notons au passage que l'on aurait pu l'écrire:
op mode # +ooo $$1 $2 $3
Pour utiliser /op, vous tapez par exemple: /op toto robert ce qui va donner l'op à toto et à robert sur le canal où vous tapez l'instruction.

Dans la définition de /op, les fonctions $1 et $2 prennent les valeurs successives toto pour $1 et robert pour $2, tandis que $3 contient le caractère nul.

Quelques remarques d'intérêt général:

  • L'appel d'un alias se fait en invoquant son nom, suivi de la liste des paramètres séparés par un ou des espaces. En mode commande, il faut faire précéder le nom de l'alias par un slash /. En mode script, ce n'est pas nécessaire.


  • Le signe # tout seul est un idiome de langage mirc: il spécifie le canal courant, sur lequel l'instruction est tapée. On peut remplacer ce signe par la fonction $active, qui contient le nom de la fenetre courante.


  • Un autre idiome de mirc est l'utilisation du double dollar: si un paramètre est préfixé par un $$, cela signifie que ce paramètre ne doit pas être nul pour que l'alias s'exécute correctement. Dans le cas contraire, l'exécution de la fonction ou de l'alias est arrêtée et la main est rendue au programme appelant.

    En clair, si /op est appelé sans paramètres, ce qui ne veut rien dire évidemment, son exécution sera arrêtée avant de faire le /mode et donc l'alias ne fera rien.


  • Enfin il existe une autre idiome de mirc: les paramètres précédés par un #$, qui représentent un nom de canal. Lorsque le paramètre passé ne commence pas par un &, mirc préfixe la valeur du paramètre par un #. Exemple:
    /j join #$$1 $2
    
    A noter qu'il existe en effet une famille de canaux préfixés par un & qui sont peu utilisés: les canaux asynchrones. Ces canaux ont comme particularité d'être locaux au serveur ou vous êtres connectés; ils ne sont pas répliqués sur les autres serveurs du réseau ce qui limite leur intérêt.


  • Précédent: les aliases  Suivant: les paramètres étendus   Début de page   Sommaire