Tôi có một mảng của Strings và tôi muốn chỉ chọn những Strings mà là đường dẫn đến tập tin:Làm thế nào để kiểm tra xem một tập tin tồn tại
con đường của tôi là "~/dlds/some_file.ics"
nơi ~/dlds
là một liên kết tượng trưng đến ~/archive/downloads
trên hệ thống của tôi. Các tập tin có quyền truy cập sau đây:
-rw-r--r--
Mã của tôi (Tôi đã thử nhiều biến thể):
ARGV.select do |string|
File.file? string # returns false
Pathname.new(string).file? # returns false
Pathname.new(string).expand_path.file? # returns false
end
Tôi không biết những gì khác để thử.
Tôi đang chạy Ruby 2.2.0 hoặc 2.2.2.
Hiển thị 'ARGV' của bạn, vui lòng –
Tôi nghĩ lý do nằm trong thư mục' ~/'. Để kiểm tra nó cố gắng vượt qua đường dẫn đầy đủ nghĩa là '/ home/user/dlds/some_file.ics' –
ARGV:' ["--debug", "~/dlds/some_file"] '. Sử dụng đường dẫn đầy đủ cũng không hoạt động .. – musicmatze