我有一个带有isIncluded
参数的API,然后传递给filter
。我想要包括每个项目,所以我写了这个:
object.read(isIncluded: { _ in true })
这对我来说并不令人满意。我希望有些人更有表现力,所以我写了以下函数。
func always<T>(t: T) -> Bool { return true }
所以我有一个非常好的
object.read(isIncluded: always)
然后我认为应该有一个内置来完成这个,但我找不到一个。
我在标准库中遗漏了什么。有没有更好的方法在标准库中进行组合?
答案 0 :(得分:0)
您可以从闭包中删除参数定义,这样您就可以将第一个示例缩短为:
object.read(isIncluded:{true})
答案 1 :(得分:0)
对于您不想过滤的情况,可能只提供默认值:
func read(isIncluded: (Object) -> Bool = {true}) { ... }
然后,您只需将其称为Object.read()
,而无需包含isIncluded: {true}
过滤器。