我注意到Ruby的fnmatch函数有一个令人惊讶的行为:
File.fnmatch('**.rb', 'main.rb') #=> true
File.fnmatch('**.rb', './main.rb') #=> false就Ruby引用中的解释而言,**将:
以递归方式匹配目录或扩展文件。
那么为什么它不扩展和匹配./main.rb呢?
发布于 2012-06-04 15:42:08
这种行为实际上是记录在案,但很容易被忽略。掩埋在例子中说:
默认情况下,通配符与引导期不匹配。
要启用此行为,需要指定File::FNM_DOTMATCH标志:
File.fnmatch('**.rb', './main.rb', File::FNM_DOTMATCH)
=> truehttps://stackoverflow.com/questions/10883600
复制相似问题