[解決済み] Scalaの自動リソース管理にはどのようなものがありますか?
2022-12-09 15:43:07
質問
ScalaのARM(自動リソース管理)の例をWebでたくさん見かけました。それは、1つを書くための通過儀礼であるように見えますが、ほとんどは互いにかなり似ています。I した を使ったかなりクールな例を見たが。
とにかく、このコードの多くには何らかの欠陥があるので、ここ Stack Overflow でリファレンスを作成し、最も正しく適切なバージョンに投票できるようにするのは良い考えだと思いました。
どのように解決するのですか?
今のところ
Scala 2.13
がようやくサポートされました。
try with resources
を使うことで
を使うことで
:), 例
val lines: Try[Seq[String]] =
Using(new BufferedReader(new FileReader("file.txt"))) { reader =>
Iterator.unfold(())(_ => Option(reader.readLine()).map(_ -> ())).toList
}
または
Using.resource
避ける
Try
val lines: Seq[String] =
Using.resource(new BufferedReader(new FileReader("file.txt"))) { reader =>
Iterator.unfold(())(_ => Option(reader.readLine()).map(_ -> ())).toList
}
他の例は を使って のドキュメントを参照してください。
自動的なリソース管理を行うためのユーティリティです。リソースを使った操作を行った後、作成時と逆の順序でリソースを解放することができます。
関連
-
[解決済み] Scalaのapply関数とは何ですか?
-
[解決済み】Scalaのvarとvalの定義の違いは何ですか?
-
[解決済み】Scalaの「リフティング」とは何ですか?
-
[解決済み】Scalaのコンテキストとビューバウンドとは何ですか?
-
[解決済み】Scalaはどこでimplicitを探すのか?
-
[解決済み] private[this] vs private
-
[解決済み] Scala の private と protected コンストラクタ
-
[解決済み] Scalaでmapを使用してインデックスを受け取るにはどうしたらいいですか?
-
[解決済み] build.sbtとbuild.scalaの違いは何ですか?
-
[解決済み] 末尾再帰関数が最適化されるためのScalaアノテーションは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Scalaでファイルに書き込むには?
-
[解決済み] IntelliJ IDEAで依存関係が変更された後、build.sbtから強制的に再ロードするには?
-
[解決済み] private[this] vs private
-
[解決済み] HDFSではなく、ローカルファイルをsc.textFileで読み込む方法
-
[解決済み] Scalaのアクター:受信と反応
-
[解決済み] 機能的デザインパターン【終了しました
-
[解決済み] Scalaにおけるparam: _*の意味とは?
-
[解決済み] sbtの依存関係ツリーを見るには?
-
[解決済み] Scalaでimmutable.Mapをmutable.Mapに変換するにはどうしたらいいですか?
-
[解決済み] scala で複数の case class をマッチングさせる