Как, скажем, определить, существует ли файл ~/.my_proj_config в любой ОС в Ruby?
~/.my_proj_config
Вызов Dir.home - это независимый от ОС способ попасть в домашний каталог для пользователя. Вы можете использовать его как
File.exists?(File.join(Dir.home, ".my_proj_config"))
Это работает в Ruby 1.9, но обратите внимание, что вызов expand_path требуется в некоторых системах (например, Windows):
expand_path
File.exists?( File.expand_path "~/.my_proj_config" )
Взгляните на класс Pathname, в частности на функцию realpath - это даст вам полный (расширенный) путь к вашему файлу.
Pathname
realpath
http://www.ruby -doc.org / STDLIB / libdoc / имя пути / RDoc / классы / Pathname.html # M001991
Затем вы используете класс File вместе с методом exists?, чтобы выяснить, существует ли он. Однако вам не нужно использовать realpath, если вы используете этот метод.
File
exists?
http://www.ruby -doc.org / ядро / классов / file.html # M000045
Используйте класс Файл и его метод exist?.
exist?