我认为在convertTo
类中使用方法Any
或其他名称会很有用,它会获取函数,将其转换为其他值。这种方法的签名可以是这样的(例子A):
def convertTo[T](convertor: this.type => T) : T = convertor(this)
使用此方法,开发人员可以使用convertor将一个对象简单地转换为其他对象。在现实世界中,它可用于使用此代码从List[Future[T]]
转换为Future[List[T]]
(示例B):
/* long code, which constructs List[Future[T]] */ convertTo { list => Future.sequence(list) }
而不是这个(例C):
Future.sequence( /* long code, which constructs List[Future[T]] */ )
我认为示例B中的代码更具功能性,示例C中的代码。所以,我有两个问题:
答案 0 :(得分:1)
"功能"对很多人来说意味着很多东西。我认为这种风格可以(有时)使代码更具可读性,因为它使代码更紧密地与数据流相对应,但我不会将其描述为"更具功能性"。
< / LI> scalaz |>
怎么样?,例如
[code that constructs List[Future[T]]]] |> Future.sequence
请注意,这适用于任何功能,它不一定是&#34; convertTo&#34;。