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