Je suis confus par l'utilisation de l'ellipse (...
) dans certaines fonctions, c'est-à-dire comment passer un objet contenant les arguments en tant qu'argument unique.Décompresser les listes d'arguments pour les ellipses dans R
En Python, il est appelé "déballage des listes d'arguments", par ex.
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
En R, par exemple, vous avez la fonction file.path(...)
qui utilise des points de suspension. Je voudrais avoir ce comportement:
> args <- c('baz', 'foob')
> file.path('/foo/bar/', args)
[1] 'foo/bar/baz/foob'
Au lieu de cela, je reçois
[1] 'foo/bar/baz' 'foo/bar/foob'
où les éléments de args
ne sont pas « déballer » et évalués en même temps. Y at-il un R équivalent à Python *arg
?
Merci, ça l'a fait. – mhermans
Une discussion prolongée sur cette technique: https://www.r-bloggers.com/a-new-r-trick-for-me-at-least/ – Alex