Função não funciona usando pipe

Criei uma função para salvar um foo.rds do objeto foo do R.

Sem pipe a função funciona, mas com pipe não. Tem como fazer funcionar?

# função para guardar o arquivo .rds com o mesmo nome do objeto do R
write_rds_express <- function(obj, path, compress = c("none", "gz", "bz2", "xz"), ...) {
  obj_char <- as.character(rlang::enquo(obj))[2]
  path <- paste0(path, "/", obj_char, ".rds")
  readr::write_rds(obj, path = path, compress = compress, ...)
}
write_rds_express(iris, "./") # funciona! o arquivo iris.rds será salvo na pasta "./"
iris %>% write_rds_express("./") # não funciona pq ele vai tentar salvar com o nome ..rds (ponto ponto rds)
3 curtidas

A reposta do Lionel aqui nos comentários diz que não é possível:

Até tem uma resposta usando a AST mas acho que não vale a pena tudo isso.

2 curtidas