Skip to Content
Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ
book

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

by Ken Youens-Clark, 中山 光樹
January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
O'Reilly Japan, Inc.
Content preview from Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

10章commコマンド

これまで一度も常識的な目であなたを見たことがない

—— They Might Be Giants, "Circular Karate Chop" (2013)

本章では、Rust版のcommコマンドを作成します。このコマンドは2つのファイルを読み込み、両方に共通する行とそれぞれに固有な行を出力します。これらを集合演算と考えると、共通する行は2つのファイルの共通部分、固有な行は差集合になります。もしデータベースに詳しいなら、これらは結合演算の一種と考えることもできるでしょう。

本章では、以下の内容を学びます。

  • ファイルハンドルの行をIterator::nextを使って手動で反復処理する方法
  • タプルを使って、ありえる組み合わせに対してmatchする方法
  • std::cmp::Orderingを使った文字列の比較

10.1 commの動作

まずはどのようなプログラムを実装する必要があるかを示すために、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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784814400584Publisher Website