file.copy не работает при вызове внутри функции - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь выполнить стандартную настройку каталога с помощью вызова функции. Внутри этой функции я использую два вызова file.copy для копирования некоторых файлов из самодельного пакета в рабочий каталог проекта.

Если я запускаю код построчно, все работает нормально, но если я запускаю всю функцию, создаются только каталоги, но файлы не копируются. К сожалению, эта функция не выдает никаких ошибок, поэтому я действительно не понимаю, что происходит или где начинать устранение неполадок.

Может быть, кто-нибудь из вас, ребята, может подсказать мне, где найти решение.

абстрактный (нерабочий) пример:

dir_setup <- function() {

  # list directories which shall be created
  dir_names <- c("dir1", "dir2", "dir3", "dir4")

  # create directories
  lapply(dir_names, function(x){dir.create(path = paste(getwd(), x, sep = '/'))})

  # get path of package library
  lib_path <- .libPaths()

  # shorten list to vector of length 1
  if (length(lib_path) > 1) lib_path = lib_path[1]

  # list files in source
  files <- list.files(paste0(lib_path, "/package/files/dir1"), full.names = TRUE)

  # copy resource files from package directory to working directory
  file.copy(files, paste(getwd(), "dir1", sep = '/'), overwrite = TRUE)

  # list more files
  files2 <- list.files(paste0(lib_path, "/package/files/dir2"), full.names = TRUE)

  # copy more files from package directory to working directory
  file.copy(files2, paste(getwd(), "dir2", sep = '/'), overwrite = TRUE)

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...