Из чтения документации очевидно, что File.join соединяет заданные параметры с символом /.
Когда это используется, в отличие от filenames.join('/')
, полезно?Когда File.join полезен?
ответ
Существует другой, тонкое различие:
File.join('foo','bar')
#=> "foo/bar"
['foo','bar'].join('/')
#=> "foo/bar"
Но, если вы передадите аргумент уже заканчивающийся /
(что довольно часто при работе с дорожками), вы не будете иметь две косые черты в результате :
File.join('foo/','bar')
#=> "foo/bar"
['foo/','bar'].join('/')
#=> "foo//bar"
Он будет использовать File::SEPARATOR
, что теоретически не обязательно должно быть /
.
На самом деле, он использует '/' для Windows. Поскольку «Файл :: SEPARATOR» есть «/» в Windows - только «Файл :: ALT_SEPARATOR» есть «\\». – sepp2k
Спасибо, @ sepp2k. Может быть, вы должны добавить ответ, если знаете, почему они выбрали этот дизайн. –
Существуют ли какие-либо платформы Ruby, на которых/не является допустимым разделителем файлов? –
Не думал об этом, спасибо –
Есть ли ошибка в SO, или я действительно был рассмотрен 5 раз в 3 минуты?! –
Иногда вы считаете, что ваши самые тривиальные ответы получают самые высокие показатели. [Это] (http://stackoverflow.com/questions/1793693/why-would-yaml-be-unavailable-in-production/1793719#1793719) является одним из моих наиболее употребительных ответов. –