关于这一点存在很多困惑,我想知道,在编程环境中,折旧,弃用和过时之间究竟有什么区别,但总的来说.
我知道我可以只看一个在线词典,即使有很多,我也有,但他们并不都同意,或者他们所说的有所不同.所以我决定在这里问一下,考虑到我也想在编程环境中得到答案.
如果我理解正确,弃用意味着它不应再被使用,因为它已被更好的替代品取代,或者仅仅因为它被放弃了.过时意味着它不再起作用,被删除,或者不再起作用.如果我理解正确的话,折旧,与编程完全无关,只是意味着价值降低,或者变得更糟.
我是对的,还是我错了,如果我错了,这些是什么意思呢?
是否有一种方法可以检测目录/文件/符号链接/等.实体(更广义)存在?
我需要一个函数,因为我需要检查一个可能是目录,文件或符号链接的路径数组.我知道File.exists?"file_path"适用于目录和文件,但不适用于符号链接(即File.symlink?"symlink_path").
我有一个字符串数组,我想只选择这些作为文件路径的字符串:
我的路径是"~/dlds/some_file.ics"其中~/dlds的一个符号链接到~/archive/downloads我的系统上.该文件具有以下权限:
-rw-r--r--
Run Code Online (Sandbox Code Playgroud)
我的代码(我尝试了几种变体):
ARGV.select do |string|
File.file? string # returns false
Pathname.new(string).file? # returns false
Pathname.new(string).expand_path.file? # returns false
end
Run Code Online (Sandbox Code Playgroud)
我不知道还有什么可以尝试的.
我正在运行Ruby 2.2.0或2.2.2.
所以我的问题基本上是如果找不到作为参数给出的文件,我无法找出给出错误消息的条件。
if ARGV.empty?
puts "Give me a file!"
elseif [condition]
puts "Can't find the file"
else
file = File.open(ARGV[0])
Run Code Online (Sandbox Code Playgroud)
我真正需要的是 elseif 的条件。