desde - ejecutar programa ruby en windows
Cómo verificar si existe un directorio/archivo/enlace simbólico con un comando en Ruby (2)
¿Por qué no definir su propia función File.exists?(path) or File.symlink?(path)
y usar eso?
¿Hay una forma única de detectar si un directorio / archivo / enlace simbólico / etc. entidad (más generalizada) existe?
Necesito una sola función porque necesito verificar una serie de rutas que podrían ser directorios, archivos o enlaces simbólicos. Sé que File.exists?"file_path"
funciona para directorios y archivos, pero no para enlaces simbólicos (que es File.symlink?"symlink_path"
).
El módulo de archivo estándar tiene las pruebas de archivos habituales disponibles:
RUBY_VERSION # => "1.9.2"
bashrc = ENV[''HOME''] + ''/.bashrc''
File.exist?(bashrc) # => true
File.file?(bashrc) # => true
File.directory?(bashrc) # => false
Debería poder encontrar lo que quiere allí.
OP: "Gracias, pero necesito los tres verdaderos o falsos"
Obviamente no. Ok, intenta algo como:
def file_dir_or_symlink_exists?(path_to_file)
File.exist?(path_to_file) || File.symlink?(path_to_file)
end
file_dir_or_symlink_exists?(bashrc) # => true
file_dir_or_symlink_exists?(''/Users'') # => true
file_dir_or_symlink_exists?(''/usr/bin/ruby'') # => true
file_dir_or_symlink_exists?(''some/bogus/path/to/a/black/hole'') # => false