我正在学习 scala 并且喜欢提出自定义控制结构的能力,并且由于没有using
关闭资源的结构,我认为编写一个会很方便。然后我从 David Pollak 的《Beginning Scala》一书中找到了这段代码。
using (Source.fromFile("file")) { source =>
println(source.mkString)
}
def using[A <: { def close() }, B](closable: A)(body: A => B): B =
try
body(closable)
finally
closable.close()
但我想知道是否有可能有类似的东西:
using (val source = Source.fromFile("file")) println(source.mkString)