【发布时间】:2016-11-05 02:12:57
【问题描述】:
有没有办法在 Scala 中表达任何函数的逆?
例如,如果我有这样的函数f:
(x: Int) => x + 1
我希望能够编写一个反函数g,例如:
(f(x): Int) => x // not a valid scala syntax
或
(x: Int) => inverse(f(x)) // inverse would return (x => x -1)
你知道在 Scala 中做这种事情的方法吗?
注意:x => x+1 仅用于示例。我正在寻找解决此类任务的通用方法。
【问题讨论】:
-
这个练习不需要反向函数,想想存在的数学定义: Map(S,f) = b |存在 c€S,f(c)=b。
-
如何创建自己的 InvertibleFunction[Int,Int]