Chapitre 6. Programmation en R
213
Nommage partiel et param` etre effectif
Une deuxi` eme fonctionnalit´ e offerte par R dans ce contexte est qu’il est
possible, ` a l’appel de la fonction, de ne pas saisir le nom complet d’un param` etre
formel. Consid´ erons les appels suivants de la fonction bonjour() :
> bonjour(lang="ang")
Hi Pierre !
> bonjour(l="ang")
Hi Pierre !
> bonjour(l="a")
Pierre !
La r` egle pour d´ eterminer le param` etre formel correspondant au nom partiel
fourni `
a l’appel est la suivante : parmi la liste ordonn´ ee des noms des param` etres formels de la fonction, le param` etre formel s´ electionn´ e est le premier
param` etre formel dont les premi` eres lettres correspondent au nom partiel saisi
par l’utilisateur.
Liste compl´ ementaire de param` etres « ... »
Il est possible de fournir une liste compl´ ementaire de param` etres au moyen
de la syntaxe .... Lors de l’appel de la fonction, tous les param` etres « nomm´ es » ne figurant pas dans la liste des param` etres formels sont regroup´ es dans
la structure .... L’utilisateur pourra alors utiliser dans le corps de la fonction
la syntaxe ... comme s’il faisait un copier-coller de la liste compl´ ementaire de
ces param` etres nomm´ es. Mais il vaut mieux illustrer cela ` a travers un exemple.
> test.3points <- function(a="toto",...) print(list(a=a,...))
> test.3points("titi",b="toto")
$a
[1] "titi"
$b
[1] "toto"
Plus g´ en´ eralement, on peut dire qu’une r` egle d’utilisation de la liste compl´ ementaire de param` etres ... dans un corps de fonction est qu’elle est plac´ ee
en param` etre d’un, voire de plusieurs appels internes de fonctions.
Expert
Lorsque ... est contenu dans la liste de param` etres et ne figure pas
en derni` ere position, le « nommage partiel de param` etres » est inop´ erant
pour tous les param` etres `
a la suite de .... En effet, un nom partiel de
param` etre formel sera alors consid´ er´ e comme un param` etre formel de la
liste compl´ ementaire.
213
Nommage partiel et param` etre effectif
Une deuxi` eme fonctionnalit´ e offerte par R dans ce contexte est qu’il est
possible, ` a l’appel de la fonction, de ne pas saisir le nom complet d’un param` etre
formel. Consid´ erons les appels suivants de la fonction bonjour() :
> bonjour(lang="ang")
Hi Pierre !
> bonjour(l="ang")
Hi Pierre !
> bonjour(l="a")
Pierre !
La r` egle pour d´ eterminer le param` etre formel correspondant au nom partiel
fourni `
a l’appel est la suivante : parmi la liste ordonn´ ee des noms des param` etres formels de la fonction, le param` etre formel s´ electionn´ e est le premier
param` etre formel dont les premi` eres lettres correspondent au nom partiel saisi
par l’utilisateur.
Liste compl´ ementaire de param` etres « ... »
Il est possible de fournir une liste compl´ ementaire de param` etres au moyen
de la syntaxe .... Lors de l’appel de la fonction, tous les param` etres « nomm´ es » ne figurant pas dans la liste des param` etres formels sont regroup´ es dans
la structure .... L’utilisateur pourra alors utiliser dans le corps de la fonction
la syntaxe ... comme s’il faisait un copier-coller de la liste compl´ ementaire de
ces param` etres nomm´ es. Mais il vaut mieux illustrer cela ` a travers un exemple.
> test.3points <- function(a="toto",...) print(list(a=a,...))
> test.3points("titi",b="toto")
$a
[1] "titi"
$b
[1] "toto"
Plus g´ en´ eralement, on peut dire qu’une r` egle d’utilisation de la liste compl´ ementaire de param` etres ... dans un corps de fonction est qu’elle est plac´ ee
en param` etre d’un, voire de plusieurs appels internes de fonctions.
Expert
Lorsque ... est contenu dans la liste de param` etres et ne figure pas
en derni` ere position, le « nommage partiel de param` etres » est inop´ erant
pour tous les param` etres `
a la suite de .... En effet, un nom partiel de
param` etre formel sera alors consid´ er´ e comme un param` etre formel de la
liste compl´ ementaire.
