【发布时间】:2018-06-11 07:47:03
【问题描述】:
我处于以下情况。我希望一个函数只能在给定的上下文中运行。同时,我希望能够使用andThen 语法来组合这些函数(在这种情况下看起来会更好)。
所以这里是一个工作表的小例子。我希望能够以第二种方式做到这一点。
implicit val iInt: Int = 2
def a(a: String)(implicit ctx: Int): String = a
def b(b: String)(implicit ctx: Int): String = b
val works = b(a("foo"))
val fails = a("foo") andThen b
一般问题可能是。如何编写柯里化函数?但如果有人能满足第一段中描述的要求,我也会感兴趣。
【问题讨论】:
-
似乎与 PartialFunctions 的相关性比柯里化更多。否则你的签名不会看起来像
def a(a: String)(b: String),然后你会在同一个函数中使用这两个变量。