【问题标题】:Idiomatic scala to process either file A or file B?处理文件A或文件B的惯用scala?
【发布时间】:2013-11-14 09:05:31
【问题描述】:

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

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 中有哪些惯用的方法来做到这一点?

【问题讨论】:

  • 你描述的不是,要么是f1,要么是f2,要么都是,要么都没有
  • 谢谢 - 编辑伪代码澄清。

标签: scala scala-2.10 idioms


【解决方案1】:

应该是这样的吗?

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

【讨论】:

  • 这将处理所有现有文件,这不是原始代码的意义。 fileList.find(Files.exists(<i>)).fold(()){process(</i>)} 保留原件。
猜你喜欢
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多