组合柯里化函数
Composing curried functions
我处于以下情况。我想要一个只能在给定上下文中 运行 的函数。同时,我希望能够使用 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
一般的问题可能是。如何编写柯里化函数?但如果有人能满足第一段描述的要求,我也会感兴趣。
这一行可以根据您对 a 和 b 的定义使用:
val worksToo = (a _ andThen b) ("foo")
a 和 b 转换为函数(因为没有),然后链接起来。
我处于以下情况。我想要一个只能在给定上下文中 运行 的函数。同时,我希望能够使用 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
一般的问题可能是。如何编写柯里化函数?但如果有人能满足第一段描述的要求,我也会感兴趣。
这一行可以根据您对 a 和 b 的定义使用:
val worksToo = (a _ andThen b) ("foo")
a 和 b 转换为函数(因为没有),然后链接起来。