相关疑难解决方法(0)

Scala中的Loaner模式

Scala in Depth演示了Loaner模式:

def readFile[T](f: File)(handler: FileInputStream => T): T = {
  val resource = new java.io.FileInputStream(f)
  try {
    handler(resource)
  } finally {
      resource.close()
  }
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

readFile(new java.io.File("test.txt")) { input =>
   println(input.readByte)
}
Run Code Online (Sandbox Code Playgroud)

此代码看似简单明了.什么是Scala中Loaner模式的"反模式",以便我知道如何避免它?

scala

15
推荐指数
2
解决办法
9351
查看次数

标签 统计

scala ×1