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