我正在使用scala-arm库来自动释放/关闭资源(例如InputStream
)。
但问题是下面的代码返回ExtractableManagedResource[Int]
,而不仅仅是Int
我想要的。
val result = for(responseStream <- managed(response.getResponseBodyAsStream)) yield {
val localResult: Int = 1
localResult
}
// result is of type ExtractableManagedResource[Int]
是否有任何选项可以返回Int
并克服包装结果ExtractableManagedResource
?
编辑:我知道我可以 declreresult
变量 asvar
并从内部分配给它for-comprehension
,但我想要更多的 scala 惯用方式,即不使用var