在 Scala 中派生高阶函数
Deriving higher-order function in Scala
有两种非常相似的方法,我正试图在 Scala 中从中提取高阶函数。
一种方式:
def delete(userId: String) = {
val entries = dao.getEntriesForIds(dao.getXXX(userId))
dao.deleteRef(entries, userId)
}
另一种方式:
def delete(userId: String) = {
val entries = dao.getEntriesForIds(dao.getXXX(userId))
.filter(_.actorId != userId)
dao.deleteRef(entries, userId)
}
我的重构版本,好像不是高阶函数:
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
有两种非常相似的方法,我正试图在 Scala 中从中提取高阶函数。
一种方式:
def delete(userId: String) = { val entries = dao.getEntriesForIds(dao.getXXX(userId)) dao.deleteRef(entries, userId) }
另一种方式:
def delete(userId: String) = { val entries = dao.getEntriesForIds(dao.getXXX(userId)) .filter(_.actorId != userId) dao.deleteRef(entries, userId) }
我的重构版本,好像不是高阶函数:
def delete(userId: String, **filter: Boolean**) = { val entries = dao.getEntriesForIds(dao.getXXX(userId)) **if (filter)** entries.filter(_.actorId != userId) dao.deleteRef(entries, userId) }
我怎样才能使它成为高阶函数?