1

out在有限的意义上,自己编写和类非常容易ref,但我的问题不是如何去做——而是有一些功能(或类)可以使用吗?

我发现最接近的是Reference特质(但它是特质)。

我需要那些,而不是元组,不是 Option,也不是 Either 作为纯粹的结果,因为只有 ref/out 才能使链接 ifs 变得优雅。

4

1 回答 1

5

不,Scala 支持按值或按名称传递参数。通过引用传递参数实际上很难在 JVM 中正确完成,这可能是流行的 JVM 语言都没有它的原因之一。此外,out 和 ref 参数鼓励通过副作用进行编程,Scala 的设计试图尽可能避免这种情况。

至于 if 的链接,有多种方法可以实现类似 Scala 中的一些效果。“匹配”表达式是最明显的,您也可以使用 Option 或 Either 查看一元组合。

于 2012-01-11T22:00:00.703 回答