我正在使用 Scala 2.9 处理一些 Excel 文件。它们都存储在一个目录中并具有文件名Sales_yyyy_mm.xlsx
。
File
我编写了以下代码,以生成一个包含年、月和每个 Excel的数组:
val fileStruct = """Sales_(\d\d\d\d)_(\d\d).xlsx""".r
val excels = (new java.io.File(dirName)).listFiles
val files = for(file <- excels; fileStruct(year, month) <- file.getName)
yield(file, year, month)
文件数组正确计算为excels
. 然而files
是空的。我检查了文件名,它们都与正则表达式匹配(如果我使用match
/重写我的代码case
没有问题)。
代码可以正确编译,并且可以按照我的预期推断类型,但它不起作用。我究竟做错了什么?