2010-12-16 7 views
8

Aby utworzyć ścieżkę do pliku w sposób niezależny od platformy, użytkownik ma przypuszczalnie używać file.path. robaki mnie to trochę, że npCzy istnieją platformy, dla których separatorem plików nie jest "/"?

file.path("some dir", "some other dir", "my file") 

jest więcej znaków i mniej czytelny niż

"some dir/some other dir/my file" 

Chcę wiedzieć, czy są jakieś platformy dla którego druga wersja zawiedzie. Z pewnością separator ścieżek (.Platform$file.sep) jest / dla systemów Linux, Mac i Windows.

Czy są jakieś platformy (na których działa R), które mają inną wartość niż .Platform$file.sep?

EDIT: Te jedyne platformy prąd z Wikipedia list (dzięki darioo), które nie korzystają / są OpenVMS, Stratus VOS i Symbian. W FAQ on R stwierdza, że ​​R jest opracowane dla

uniksopodobnym, Windows i Mac rodzin systemów operacyjnych

Więc nie ma oficjalnego wsparcia dla żadnej z tych platform. Nie mam dobrego wyczucia, czy w swoich telefonach Nokia jest armia hakerów z R. Czy możesz oszacować prawdopodobieństwo, że ktoś użyje R w tych systemach?

+2

Możliwe jest uruchamianie R na OpenVMS (gdzie separatorem jest "."), Ale podejrzewam, że możesz łatwo odrzucić tę platformę. –

+2

'file.path' jest bardziej czytelny, gdy używasz sparametryzowanych ścieżek. Porównaj 'file.path (główna ścieżka, podfolder," Analiza 001 ")' kontra 'wklej (ścieżka główna, podfolder," Analiza 001 ", sep ="/")'. – Marek

+0

@Marek: Zgoda. –

Odpowiedz

1

\ jest tradycyjnym trackseperatorem w systemie Windows. Niektóre nowoczesne aplikacje Windows, interfejsy API obsługują obie wersje. Ale stary styl nadal jest najważniejszy.

+1

R radzi sobie z radością/na Windowsie. Dzięki Bogu, że tak. Lub naprawdę dziękuję zespołowi R-core ... –

+0

W R, musisz użyć/dla ścieżek w Windows - konwersja do \ odbywa się pod maską. –

+0

Oh dziękuję Nie zauważyłem, że małe polecenia r-tag –

0

Oprogramowanie zwykle nie jest przeznaczone dla armii, jest przeznaczone dla jednostek.

+0

Bardzo poetycki. Po prostu staram się ustalić, ile osób jest dla mnie bardziej skomplikowanych, wprowadzając błędy związane z ścieżkami, aby sprawdzić, czy poprawa na niewielki czas/czytelność jest tego warta. –