假设我有一个功能
writeToFileOrStdout(fname: String = Nil) = { ... }
如果用户为 fname 传递一个字符串值,那么我想打开一个具有该名称的文件并写入它;否则,我想打印到标准输出。我总是可以只写一个 if 语句来处理这个问题,但是我如何在 fname 上写一个 case 语句并打开正确的相应 outputStream?
val outStream = fname match {
case Nil => ???
case _ => new java.io.FileOutputStream(new java.io.File(fname))
}
outStream.write( ... )
谢谢!