January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
これまで一度も常識的な目であなたを見たことがない
—— They Might Be Giants, "Circular Karate Chop" (2013)
本章では、Rust版のcommコマンドを作成します。このコマンドは2つのファイルを読み込み、両方に共通する行とそれぞれに固有な行を出力します。これらを集合演算と考えると、共通する行は2つのファイルの共通部分、固有な行は差集合になります。もしデータベースに詳しいなら、これらは結合演算の一種と考えることもできるでしょう。
本章では、以下の内容を学びます。
Iterator::nextを使って手動で反復処理する方法matchする方法std::cmp::Orderingを使った文字列の比較まずはどのようなプログラムを実装する必要があるかを示すために、BSD版のcommコマンドのマニュアルページの一部を見て、動作を確認してみましょう。
COMM(1) BSD General Commands Manual COMM(1) NAME comm -- select or reject lines common to two files SYNOPSIS comm [-123i] file1 file2 DESCRIPTION The comm utility reads file1 and file2, which should be sorted lexically, and produces three text columns as output: lines only in file1; lines only ...