ruby 2.6:File.mtime在文件名以点字符结尾时失败

ruby 2.6:File.mtime在文件名以点字符结尾时失败,ruby,Ruby,在使用ruby 2.6 File的windows上,当文件名以点字符结尾时,File.mtime失败 我试图用反斜杠点替换点,但没有成功。 谢谢你的建议。 尼瓦 好的,这么简单的问题:如何在具有ruby函数的windows操作系统下获取名为“vim”的目录的mtime?“它失败”和“没有任何成功”并不是一个足够精确的错误描述,我们无法帮助您。什么不起作用?它怎么不起作用?你的代码有什么问题?你收到错误信息了吗?错误消息是什么?你得到的结果不是你期望的结果吗?你期望得到什么样的结果?为什么?你会得

在使用ruby 2.6 File的windows上,当文件名以点字符结尾时,File.mtime失败

我试图用反斜杠点替换点,但没有成功。 谢谢你的建议。 尼瓦


好的,这么简单的问题:如何在具有ruby函数的windows操作系统下获取名为“vim”的目录的mtime?

“它失败”和“没有任何成功”并不是一个足够精确的错误描述,我们无法帮助您。什么不起作用?它怎么不起作用?你的代码有什么问题?你收到错误信息了吗?错误消息是什么?你得到的结果不是你期望的结果吗?你期望得到什么样的结果?为什么?你会得到什么样的结果?两者有什么不同?你观察到的行为是否不是期望的行为?想要的行为是什么,为什么,观察到的行为是什么,它们有什么不同?除了@JörgWMittag的精彩评论之外,使用bare
rescue
是一种非常糟糕的做法(除非你毫无疑问地绝对知道只会涉及一种错误,这是非常罕见的)。最低限度,
rescue StandardError=>x
;然后你可以看到什么是
x
。请注意,Windows甚至不允许文件名以句点结尾,因此如果没有更多详细信息,就很难找出确切的问题所在。实际上,我们现在知道的唯一一件事是,以句点结尾的文件名不是问题,因为这样的文件甚至不可能存在。好吧,这么简单的问题:如何在使用ruby函数的windows操作系统下获取名为“vim”的目录的mtime?
if f =~/\.$/
              VIM::message('This is matching a point char ' +  f.to_s())
              f1 = f.gsub(/\./, '\.')
              VIM::message('So now its this filename that is passed ' + f1.to_s())
              begin
                  File.mtime(f1) 
              rescue
                VIM::message('Unable to get mtime on File "' + f1.to_s() + '"')
                VIM::message('And current path is "' + Dir.pwd.to_s() + '"')
              ensure
              end
            else