Проверка наличия файла в домашнем каталоге пользователя - PullRequest
14 голосов
/ 29 апреля 2011

Как, скажем, определить, существует ли файл ~/.my_proj_config в любой ОС в Ruby?

Ответы [ 4 ]

20 голосов
/ 29 апреля 2011

Вызов Dir.home - это независимый от ОС способ попасть в домашний каталог для пользователя. Вы можете использовать его как

File.exists?(File.join(Dir.home, ".my_proj_config"))
2 голосов
/ 29 апреля 2011

Это работает в Ruby 1.9, но обратите внимание, что вызов expand_path требуется в некоторых системах (например, Windows):

File.exists?( File.expand_path "~/.my_proj_config" )
0 голосов
/ 29 апреля 2011

Взгляните на класс Pathname, в частности на функцию realpath - это даст вам полный (расширенный) путь к вашему файлу.

http://www.ruby -doc.org / STDLIB / libdoc / имя пути / RDoc / классы / Pathname.html # M001991

Затем вы используете класс File вместе с методом exists?, чтобы выяснить, существует ли он. Однако вам не нужно использовать realpath, если вы используете этот метод.

http://www.ruby -doc.org / ядро ​​/ классов / file.html # M000045

0 голосов
/ 29 апреля 2011

Используйте класс Файл и его метод exist?.

...