Skip to content

Make use of ... consistent and documentable #17

@gadenbuie

Description

@gadenbuie

We need to ensure that arguments passed through ... are documentable (i.e. are inherited from another function) and that their scope is relatively limited.

Currently, nearly every function takes ... which means that we don't have issues with extra arguments being passed to functions that don't take them.

This short reprex demonstrates the issue with removing ... from existing functions.

f <- function(x = "a", ...) paste(x)

g <- function(y = "b", ...) paste(y)

h <- function(z, ...) paste(z, g(...), f(...))

# Doesn't have ... to capture unused arguments
f2 <- function(x = "a") paste(x)

h2 <- function(z, ...) paste(z, g(...), f2(...))

h("c", y = "e")
#> [1] "c e a"
h2("c", y = "e")
#> Error in f2(...): unused argument (y = "e")

In the above example, we would need to add x as a parameter to h2() or do some work to separate the arguments in the .... In the end, though, the effort will be worth it because documentation will be much clearer and the user will be able to figure out from autocompletion, etc, what parameters get passed to which functions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions