Используете ли .. как родительский каталог кроссплатформенный? - PullRequest
2 голосов
/ 24 июня 2011

Еще более любопытно, если я хочу, чтобы какой-то код не смотрел на родительский каталог (содержащийся в списке файлов / каталогов), и я делаю что-то вроде (например, Perl) next if /^.+$/, чтобы исключить.и .., это достаточно кроссплатформенный?Если нет, то какие платформы отличаются и как можно предотвратить доступ к родителю в этом случае?

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Это будет работать на большинстве современных платформ. (Это также исключит скрытые файлы / каталоги Unix, но, вероятно, это хорошо, учитывая контекст.) У Windows есть особый случай в корне диска, но это не столько «другой синтаксис», сколько «нет в любом синтаксис"; если у вас есть намерение использовать такие платформы, как OpenVMS или Z / OS, оно вообще не будет работать.

Обратите внимание, что Perl и Python поставляются с утилитами кроссплатформенного пути, которые вы должны использовать вместо этого. Я не могу рассказать вам о PHP или Ruby, но я полагаю, что оба тоже так делают.

0 голосов
/ 24 июня 2011

Не работает в ZX Spectrum. :)

Серьезно, почти все платформы в настоящее время широко используются (т.е. MSDOS, Windows, * NIX, включая Linux), соответствуют этому. Имейте в виду, что вы также будете исключать скрытые каталоги в UNIX-подобных системах.

...