撰写咖喱功能

时间:2018-06-11 07:47:04

标签: scala currying

我遇到以下情况。我希望一个函数只能在给定的上下文中运行。与此同时,我希望能够使用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

一般问题可能是。如何构成curry函数?但如果有人能够满足第一段所述的要求,我也会感兴趣。

1 个答案:

答案 0 :(得分:1)

此行可根据您的需要使用a和b的定义:

val worksToo = (a _ andThen b) ("foo") 

a和b被转换为函数(因为没有),然后被链接。