在 Scala 中派生高阶函数

Deriving higher-order function in Scala

有两种非常相似的方法,我正试图在 Scala 中从中提取高阶函数。

  1. 一种方式:

    def delete(userId: String) = {
      val entries = dao.getEntriesForIds(dao.getXXX(userId))
      dao.deleteRef(entries, userId)
    }
    
  2. 另一种方式:

    def delete(userId: String) = {
      val entries = dao.getEntriesForIds(dao.getXXX(userId))
                        .filter(_.actorId != userId)
      dao.deleteRef(entries, userId)
    }
    
  3. 我的重构版本,好像不是高阶函数:

    def delete(userId: String, **filter: Boolean**) = {
          val entries = dao.getEntriesForIds(dao.getXXX(userId))
          **if (filter)**
              entries.filter(_.actorId != userId)
          dao.deleteRef(entries, userId)
        }
    

我怎样才能使它成为高阶函数?

w=12=WILL.y.w=11=w w=10=sh