处理文件A或文件B的惯用scala?

处理文件A或文件B的惯用scala?,scala,scala-2.10,idioms,Scala,Scala 2.10,Idioms,我有一些代码可以做到这一点: for d in directories: if d/f1 exists: process d/f1 else if d/f2 exists: process d/f2 else skip 在这种情况下,“过程”是: read all the lines and save them for later use 在Scala中,有哪些惯用方法可以做到这一点?应该是这样的 fileList.filter(Files.exists(

我有一些代码可以做到这一点:

for d in directories:  
    if d/f1 exists: process d/f1  
    else if d/f2 exists: process d/f2  
    else skip
在这种情况下,“过程”是:

read all the lines and save them for later use

在Scala中,有哪些惯用方法可以做到这一点?

应该是这样的

fileList.filter(Files.exists(_)).forEach(process(_))

您所描述的不是f1或f2,或者两者都是,或者都不是。感谢您编辑的psuedo代码来澄清这一点。这将处理所有现有文件,而不是原始代码的意义
fileList.find(Files.exists()).fold(()){process()}
保留原始文件。