【发布时间】:2012-06-26 20:42:48
【问题描述】:
这个函数的类型是T -> (T -> U) -> U。我相信在 Haskell 中,它会类似于 ($ . flip)。
或者,从面向对象的角度来看(这是我一直在看待它的方式):
type T {
U myFunction(f: T -> U) {
return f(this);
}
}
我在笔记中将其称为“into”,并使用单个箭头 (->) 作为运算符。它类似于map 函数,但对于标量:
a.into f = f(a)
[a, b, c].map f = [f(a), f(b), f(c)]
实际应用示例:
42 -> Math.sqrt
foo.bar.into(doSomething).baz.into(doSomethingElse).xyzzy
(rather than doSomethingElse(doSomething(foo.bar).baz).xyzzy)
【问题讨论】:
标签: function terminology