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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

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

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

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

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

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

Publisher Resources

ISBN: 9784814400584Publisher Website