18章入出力

Doolittle:君が存在するという確たる証拠はあるかい?

爆弾20号:ふーむ。こうして考えているのだから、私は存在します。

Doolittle:それはいいね。とてもいいね。しかし、ではどうして他者が存在することがわかる?

爆弾20号:わたしのセンサでわかります。

−「Dark Star」†1

[†1] 訳注:カルト的な評価を得ている1974年の米国映画。『惑星からの物体X』のジョン・カーペンター監督作品。

Rustの標準ライブラリの入出力機能は、3つのトレイトReadBufReadWriteを中心に構築されている。

  • Readを実装した値は、バイト単位の入力メソッドを持つ。これらをreaderと呼ぶ。
  • BufReadを実装した値を、バッファ付き readerと呼ぶ。これらは、Readのメソッドすべての他に、テキストを行単位で読むメソッドなどをサポートしている。
  • Writeを実装した値は、バイト単位の出力と、UTF-8テキストの出力をサポートする。このような値をwriterと呼ぶ。

図18-1にこれら3つのトレイトと、readerとwriterの例を示す。

Rustの主要な3つのI/Oトレイトと、それらを実装する重要な型

図18-1 Rustの主要な3つのI/Oトレイトと、それらを実装する重要な型

本章では、これらのトレイトとメソッドの使い方や、図中に示したreader型とwriter型を説明する。さらに、ファイルや端末やネットワークを使うためのさまざまな方法を解説する。

18.1 readerとwriter

reader ...

Get プログラミングRust 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.