相关疑难解决方法(0)

在Scala中用于存储内存中可变数据表的类型是什么?

每次调用一个函数时,如果给定的一组参数值的结果尚未被记忆,我想将结果放入内存表中.一列用于存储结果,另一列用于存储参数值.

我该如何最好地实现这一点?争论的种类繁多,包括一些枚举.

在C#中,我通常使用DataTable.Scala中有同等的东西吗?

scala memoization data-structures scala-collections

20
推荐指数
2
解决办法
9113
查看次数

在scala中做一个懒惰变量

Scala不允许创建laze vars,只允许lazy vals.有道理.

但我已经碰到了用例,我希望能有类似的功能.我需要一个懒惰的变量持有者.可以为其分配应该由耗时算法计算的值.但它可能会在以后重新分配给另一个值,我不想再调用第一个值计算.

假设有一些魔术var定义的示例

lazy var value : Int = _
val calc1 : () => Int = ... // some calculation
val calc2 : () => Int = ... // other calculation
value = calc1
value = calc2
val result : Int = value + 1
Run Code Online (Sandbox Code Playgroud)

这段代码应该只调用calc2(),而不是calc1

我知道如何用隐式转换和特殊容器类编写这个容器.我很好奇是否有任何嵌入式scala功能,不需要我编写不必要的代码

scala lazy-evaluation

11
推荐指数
2
解决办法
4485
查看次数