Récupérer l'argument saisie dans une fonction

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Andy Aubry
Messages : 2
Enregistré le : 27 Sep 2017, 13:13

Récupérer l'argument saisie dans une fonction

Messagepar Andy Aubry » 27 Sep 2017, 13:51

Bonjour,
je fais appel à vous car aillant essayé de trouver une solution (qui existe forcément) à mon problème, je bloque un peu.
Le problème n'est pas si évident à expliquer alors voici un exemple qui l'illustre sur une fonction :

Code : Tout sélectionner

d = c(8, 0.54 , "unephrase")

saveObject <- function(filename) {
  message("Save : ", filename )
  paste("-rm", filename)


saveObject(d)
# Save : 80.54unephrase
# [1] "-rm 8"         "-rm 0.54"      "-rm unephrase"
 


Le résultat que je souhaiterai, c'est :

Code : Tout sélectionner

saveObject(d)
# Save : d
# "-rm d"


Si vous avez la fonction (ou bien une méthode?) , merci d'avance.

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Récupérer l'argument saisie dans une fonction

Messagepar Pierre-Yves Berrard » 27 Sep 2017, 13:54

Bonjour,

Code : Tout sélectionner

message("Save : ", substitute(filename))
paste("-rm", substitute(filename))
PY

Andy Aubry
Messages : 2
Enregistré le : 27 Sep 2017, 13:13

Re: Récupérer l'argument saisie dans une fonction

Messagepar Andy Aubry » 27 Sep 2017, 13:57

Rapide et juste.

Je vous remercie.

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Récupérer l'argument saisie dans une fonction

Messagepar Pierre-Yves Berrard » 27 Sep 2017, 14:09

Pas tout à fait juste, en fait ! ;-)

En toute rigueur :

Code : Tout sélectionner

deparse(substitute(filename))
PY

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Récupérer l'argument saisie dans une fonction

Messagepar jean lobry » 30 Sep 2017, 20:01

Pierre-Yves Berrard a écrit :Pas tout à fait juste, en fait ! ;-)

En toute rigueur :

Code : Tout sélectionner

deparse(substitute(filename))


Oui, mais :-)

Code : Tout sélectionner

> library("fortunes")
> fortune("substitute")

Bert Gunter: However, I do not understand the substitute(...()) idiom. Would
you care to explain it? (No is an acceptable answer!).
Bill Dunlap: I don't completely understand it either, I treat it as an
idiom. I saw it on this list once.
   -- Bert Gunter and Bill Dunlap (on how to recover object names when using
      the ... argument in a function)
      R-help (October 2013)


Amicalement,

jean lobry


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité