Это мой вопрос:
Как я могу изменить базовую функцию "dir" только для установки параметра "pattern" по умолчанию?.
ПРИМЕЧАНИЕ.Я должен использовать базовую функцию dir, а не другую.
Причина, по которой мне это нужно, заключается в следующем (на случай, если кто-то предложит другое решение):
Мне нужно загрузить пакет GGIR
library(GGIR)
Когда он загружен, загружаются также несколько функций.Я использую многие из этих функций (например, «g.part2»), но я получаю эту ошибку:
Error in load(paste0(path, fnames[i])) :
bad restore file magic number (file may be corrupted) -- no data loaded
In addition: Warning message:
file ‘desktop.ini’ has magic number '[.She'
Use of save versions prior to 2 is deprecated
Я отладил пакет и функцию, и я уже знаю, что происходит:
Когда выполняется «g.part2», создается каталог, и некоторые файлы сохраняются в нем.Но когда каталог создается, моя Windows также создает в нем скрытый файл с именем «desktop.ini» (я исследовал это несколько дней, но не нашел способа избежать создания desktop.ini).
Затем имена файлов, которые были сохранены в каталоге, восстанавливаются (включая desktop.ini) с помощью функции «dir».Эти файлы читаются, и происходит сбой при попытке прочитать desktop.ini.
Чтобы решить эту проблему, мой первый подход состоял в том, чтобы создать функцию "dir1" для исключения desktop.ini, просто изменив значение по умолчанию.значение в параметре "pattern" из базовой функции dir.Затем мне пришлось изменить «g.part2»
trace(g.part2,edit=TRUE)
… и заменить «dir (» на «dir1 («
). Однако, как и в «g.part2», есть несколько функцийчто мне нужно использовать ("g.part3", "g.part4", "g.part5", "g.report.part4" ....), и они внутренне используют функцию "dir". Для меня это не жизнеспособнобыть «отслеживающим» многие функции каждый день, кроме того, это не может быть сделано программно, не так ли?
Итак, я думаю, решение (если это возможно) состоит в том, чтобы изменить базовую функцию dir иустановить значение по умолчанию для параметра шаблона только для исключения файла desktop.ini. При этом мне не нужно изменять какие-либо функции из пакета GGIR.
С наилучшими пожеланиями