Ale*_*ndr 5 scala memoization scala-cats
Scalaz 提供 Memo 用于记忆。我希望 scala-cats 也有类似的解决方案。一般来说,我有不同方法的特征:
trait t {
def f1:Int = ???
def f2(i:Int):Int = ???
def f3(i:Int, s:String):String = ???
}
Run Code Online (Sandbox Code Playgroud)
如果 Casts 支持此类解决方案,请举例说明如何:
使用它来记忆所有以前定义的方法,以防可以修改源?
如何将其应用于外部代码,将记忆注入到客户端的调用中,而不触及现有服务
如何控制记忆的生命周期?一般来说,我需要保留每笔交易的结果。控制它的策略是什么?例子也会很棒!