Invisible

Un petit cadeau pour Noël, une fonction bien “à la R” !

Il est possible de retourner des valeurs “invisibles”. Un exemple valant mieux qu’un long discours :

> invisible(100)

> x <- invisible(100)
> x
[1] 100

invisible() évite l’impression à l’écran du résultat mais le transmet tout de même en cas d’affectation.

Voilà, c’est tout 🙂

Cela peut-être utile si la fonction imprime une version “user friendly” de la valeur de retour mais renvoie cette dernière dans un format “R friendly”.

> multiplie <- function(x,y) {r = x*y;print(sprintf("Je multiplie %f par %f et ça donne %f",x,y,r)); invisible(r) }
> multiplie(2,3)
[1] "Je multiplie 2.000000 par 3.000000 et ça donne 6.000000"
> x <- multiplie(2,3)
[1] "Je multiplie 2.000000 par 3.000000 et ça donne 6.000000"
> x
[1] 6

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *