Próbowałem utworzyć pakiet za pomocą niektórych funkcji i skryptów, które utworzyłem (używając X11 na Macu). Chociaż kontrola R CMD robi swoją pracę, to napotkał problem w następujący sposób:Błąd [' +' jest nierozpoznaną ucieczką w ciągu znaków rozpoczynającym się " +" podczas tworzenia pakietu R
temp = trim(unlist(strsplit(lp.add(ranefterms[[i]]),
+ "\+")))
Error: '\+' is an unrecognized escape in character string starting "\+"
najdziwniejsza rzeczą jest jednak to, że moja funkcja faktycznie NIE mają „\ +”. Zamiast tego ma "\ \ +" (patrz poniżej). Więc nie wiem, dlaczego "\ \ +" jest rozpoznawane jako "\ +".
for(i in 1:n)
temp = trim(unlist(strsplit(lp.add(ranefterms[[i]]), '\\+')))
Aby zagłębić się nieco dalej, zajrzałem do pliku packageName-Ex.R w folderze Rcheck. Jak się okazało, wszystkie "\ \" zostały zmienione na "\" w procesie sprawdzania (np. Podwójne ukośniki, których potrzebuję do funkcji takich jak strsplit() i grepl())
Zastanawiam się może to było przyczyną. Przepraszam, że nie mogę wymyślić odtwarzalnego przykładu ...
@ Josh-obrien Dzięki. Plik pomocy był rzeczywiście problemem. Czy wiesz, dlaczego to jest problem? Stworzyłem pakiet w przeszłości i nie napotkałem podobnego problemu - nie zmieniłem żadnego z "\\" na "\\\\". – Alex
@ X.He - To nie jest coś nowego, więc założę się, że twój poprzedni pakiet nie miał żadnych "\\" w twoich przykładach, ** lub **, że wszelkie przykłady były wewnątrz '\ dontrun {} 'blok, ** lub **, że nie uruchomiłeś sprawdzania R CMD. Pamiętaj, że nie ma problemu z kodem w żadnej z zapakowanych funkcji. Zamiast tego chodzi o przetwarzanie plików '* .Rd'. –