【发布时间】:2011-01-13 12:37:55
【问题描述】:
我在网上看到了很多 Scala 的 ARM(自动资源管理)示例。写一个似乎是一种仪式,尽管大多数看起来很像。不过,我确实看到了一个使用延续的非常酷的示例。
无论如何,很多代码都有某种类型的缺陷,所以我认为在 Stack Overflow 上有一个参考是一个好主意,我们可以在这里投票选出最正确和最合适的版本。
【问题讨论】:
-
如果不是社区 wiki,这个问题会产生更多答案吗?请注意是否在社区 wiki 奖励声誉中投票答案...
-
唯一引用可以为 ARM 添加另一个安全级别,以确保在调用 close() 之前将资源引用返回给管理器。 thread.gmane.org/gmane.comp.lang.scala/19160/focus=19168
-
@retronym 我认为唯一性插件将是一场革命,而不是延续。而且,事实上,我认为这是 Scala 中的一件事,它很可能会在不久的将来被移植到其他语言。当它出现时,让我们确保相应地编辑答案。 :-)
-
因为我需要能够嵌套多个 java.lang.AutoCloseable 实例,每个实例都依赖于前一个成功实例化的实例,所以我终于找到了一个对我非常有用的模式。我把它写成类似 StackOverflow 问题的答案:stackoverflow.com/a/34277491/501113