我有这样的东西: case x if(x.calc("input").isDefined) => x.calc上面的代码片段可以做到这一点,但是...您将看到我调用了x.calc()两次。假设对calc的调用不是平凡的,我如何避免双重调用?(我也不想在所有事情上预先调用calc(),因为我只关心第一个有效的方法。)
{ case id if(id == t.id)=> t} }
val insertList = instances.flatMap{ t => idsForInsertion collectFirst现在如何构造val incomingIds取决于特定的case class属性。我们希望创建一个通用函数,它可以接受一个List[T]和可能的incomingIds,并返回所需的元组,以避免每次编写类似的样板。如果说逻辑是“总是”使用T case class的id属性,那么我可以轻松地创建一个带有id的父trait,并将所有cas